首页 / Linux 命令行入门教程 / 70. cron / crontab 定时任务

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 清空。