排程
进入排程设定档案
sudo crontab -l
sudo crontab -e
排程格式
* * * * * /bin/execute/this/script.sh
*
位置代表意义
位置(由左至右) | 说明 | 范围 |
---|---|---|
1 | 分钟 | 0-59 |
2 | 小时 | 0-23 |
3 | 每月第几天 | 1-31 |
4 | 第几个月 | 1-12 |
5 | 星期几 | 0-6,0: 礼拜日 |
*
代表每次条件都符合
特殊字元
@reboot 开机后执行一次
@yearly 一年执行一次 "0 0 1 1 *"
@annually (与 @yearly 功能相同)
@monthly 一个月执行一次 "0 0 1 * *"
@weekly 一週执行一次 "0 0 * * 0"
@daily 一天执行一次 "0 0 * * *"
@midnight (与 @daily 功能相同)
@hourly 一小时执行一次 "0 * * * *"
将执行的结果丢到垃圾桶不显示
*/10 * * * * /bin/execute/this/script.sh > /dev/null 2>&1
测试 crontab
直接执行 crontab
指令就可以知道 crontab 是否有设定正确
crontab path/to/crontab/file
如果有错误的状况发生就会显示相关的错误讯息
"/etc/crontab":165: bad day-of-month
errors in crontab file, can\'t install.
参考资料
- Schedule Tasks on Linux Using Crontab | kvz.io
- Crontab.guru - The cron schedule expression editor
- cron - Is there a way to validate /etc/crontab’s format? - Server Fault