crontab 定时任务
通过 crontab
命令,我们可以在固定的间隔时间执行指定的系统指令或者 shell script
脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或者数据备份的工作,在日常工作中用的非常的广泛。
crontab 命令格式
分 时 日 月 周 要运行的命令
- 第一列分钟0~59
- 第二列小时0~23(0表示子夜)
- 第三列日1~31
- 第四列月1~12
- 第五列星期0~7(0和7表示星期天)
- 第六列要运行的命令
实例
* * * * * echo 'hello' # 每一分钟执行一次hello
3,15 * * * * myCommand # 每个小时的第三分钟和第十五分钟执行命令
3,15 8-11 * * * myCommand # 上午8点到11点的第三分钟和第十五分钟执行命令
3,15 8-11 */2 * * myCommand # 每隔2天上午8点到11点的第三分钟和第十五分钟执行命令
30 21 * * * service restart nginx # 每天晚上9点半重启nginx服务
0 23 * * 6 service restart nginx # 星期六晚上11点整重启nginx服务
注意事项
-
新创建的
cron job
,不会马上执行,至少要过2分钟才执行。如果重启cron
则马上执行。 -
当
crontab
失效时,可以尝试/etc/init.d/crond restart
解决问题。或者查看日志看某个job
有没有执行报错tail -f /var/log/cron
。 -
crontab
命令中的脚本命令需要写绝对路径,不然有可能执行不了