Linux 服务器入门:SSH 连接与常用命令
从安全登录到文件、目录、服务和资源查看,掌握维护服务器最常用的一组操作。
把 crontab 五字段记成"分时日月周"口诀,落到一个每天自动打包网站的实例,避开服务器时区错位与百分号转义两个经典坑。
"我每周手动备一次份"的计划,通常活不过第一个月。Linux 自带的 crontab 能让服务器在指定时间自己干活:打包备份、清理日志、续期证书,都是它的经典用途。学会它,你的网站从"靠人记"变成"自己管自己"。
每条 crontab 规则长成"五颗星 + 一条命令":从左到右依次是 分(0-59)、时(0-23)、日(1-31)、月(1-12)、周(0-7,0 和 7 都是周日)。位置对应单位,写数字就是"到点执行",写 * 就是"每个都行"。
| 写法 | 含义 | 示例 |
|---|---|---|
| 30 3 * * * | 每天 3:30 | 每天凌晨备份 |
| */10 * * * * | 每 10 分钟 | 高频健康检查 |
| 0 5 * * 1 | 每周一 5:00 | 每周初整理 |
| 0 0 1 * * | 每月 1 日 0:00 | 月初归档 |
进阶写法三条就够用:区间 a-b(3-6 点)、列表 a,b,c(周一和周五)、步长 */n(每 n 个单位)。不确定表达式对不对,先在在线工具里预览未来几次执行时间,再贴进服务器。
crontab -e # 编辑当前用户的定时任务
0 3 * * * tar -czf /var/backups/site-$(date +\\%F).tar.gz /var/www/html >> /var/log/site-backup.log 2>&1
crontab -l # 列出已生效的任务
grep CRON /var/log/syslog # 查看是否真的执行过
上面这条就是本文标题里的实例:每天 3 点把网站目录打包成带日期的压缩文件,输出追加进日志。注意命令里的 % 必须写成 \\% ——crontab 会把 % 当换行符,这是新手最常见的一条"命令手动能跑、放进 crontab 就废"的原因。输出记得重定向到日志文件,否则执行结果无处可查。
服务器时区和你想的不一样
多数云服务器默认时区是 UTC:你写的"凌晨 3 点"实际是北京时间上午 11 点,备份高峰全撞在白天。先用 date 看服务器当前时间,不对就改时区,或者干脆按 UTC 写表达式——换算用 UTC 时间转换工具,别心算。
以为写上就完事了
定时任务没有"保存成功"提示,唯一可信的验收方式是等它执行一次、去日志和备份目录确认产物真的出现。上线第一周每天看一眼日志,比出事后才发现三个月没备份强太多。
口诀"分时日月周" + 命令里转义 % + 输出进日志,这三件事记住,crontab 就从"高级运维"变成你能日常使用的工具。
下一步该读什么
本文要点
先收集证据,再进行小范围变更;操作前留好备份,操作后用明确的检查项验证结果。
继续学习
从安全登录到文件、目录、服务和资源查看,掌握维护服务器最常用的一组操作。
使用系统自带的只读命令观察资源,理解瞬时数据、磁盘空间与 inode 的区别。
在一台干净的 Linux 云服务器上安装 1Panel,完成端口、安全入口、账户与备份的初始化配置。