每天登录服务器手动备份数据库、手动清日志,坚持一周就会开始偷懒。运维的出路是自动化:把重复劳动写成脚本,交给定时任务默默执行,人只看结果。
crontab 五分钟入门
执行 crontab -e 编辑任务列表,一行一个任务:
0 3 * * * /data/scripts/backup.sh含义是每天凌晨三点执行 backup.sh。五个位置依次是分、时、日、月、周,记不住格式就搜 crontab 在线生成器,可视化点出来。
值得自动化的清单
- 数据库每日备份,自动删掉七天前的旧备份
- 日志压缩归档,超过 15 天自动清理
- SSL 证书到期检测,快过期发邮件提醒
- 网站可用性探测,挂了第一时间知道
交给 cron 前必做的三件事
- 脚本里全部写绝对路径,cron 的环境变量和终端不一样
- 输出重定向到日志文件,出问题有据可查
- 先手动跑通脚本再挂定时任务
上线前测一遍,胜过事后排错三小时,这是自动化运维的第一课。