Linux 命令行入门教程
70. cron / crontab 定时任务
本教程共 90 篇 · 第 70 篇
70. cron / crontab 定时任务
有些活儿要天天干,比如备份、清理。让电脑自己按时跑,就靠 cron。它像个后台闹钟,时间一到就执行你定的命令。
每条任务写在一行里,前面是五个时间字段,后面是要跑的命令:
分 时 日 月 星期 命令
五个字段的含义依次是:分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-7,0和7都代表周日)。
编辑你自己的任务表,用:
crontab -e
第一次会让你选编辑器,选 nano 最省心。加一行,比如每天凌晨 2 点备份:
0 2 * * * /home/you/backup.sh
几个常用写法:
*/5 * * * * 命令 # 每 5 分钟一次
0 9 * * 1 命令 # 每周一早上 9 点
@daily 命令 # 每天一次(cron 特殊写法)
查看已有哪些任务:
crontab -l
删掉全部任务(危险,没有确认):
crontab -r
Warning
crontab -r会不经确认清空你的全部定时任务,而且没有回收站。重要任务先备份:crontab -l > my_cron.bak,再动手。
cron 服务本身是否运行,可以这样看:
systemctl status cron
Note任务跑出来的输出默认会发邮件给你,服务器上容易堆积。建议把输出重定向,比如
>> /var/log/backup.log 2>&1,既留记录又不刷屏。
小结:crontab 用”分 时 日 月 星期 命令”定时跑任务;crontab -e 编辑、-l 查看、-r 清空。