时间字符串格式分为五个部分:
参数 | 说明 | 详细说明 |
---|---|---|
第1个参数 | 分钟 | 0-59分钟值或者*每一分钟 |
第2个参数 | 小时 | 0-23小时值或者*每一小时 |
第3个参数 | 日期 | 1-31日值或者*每日 |
第4个参数 | 月份 | 1-12月值或者*每月 |
第5个参数 | 星期 | 0-7星期值或者*一周的每一天,0和7均代表星期天 |
时间字符串必须包含每个部分属性值。
每部分设值可以利用斜杠(/)来进行调整,从而使得能够使用非常规时间,例如在第一个参数分钟部分设值*/3
则代表每3分钟
。
格式 | 说明 |
---|---|
30 * * * * | 常规时间设值,每小时30分钟执行一个命令。 |
0 8 * * 1 | 常规时间设值,每周一早八点执行一个命令。 |
*/5 * * * * | 非常规设值,每五分钟执行一个命令 |
完整格式为 分钟
小时
日
月
星期
需要定期执行的命令和相关参数
以上都是比较常见的方式,还有部分较少使用的方式,但是也非常实用的。(只是我少见别人用,直到某次吹牛逼看别人说的,觉得挺实用)
附上外网资料,有兴趣可以看看原文Crontab in Linux with 20 Useful Examples to Schedule Jobs
@yearly
、@monthly
、@weekly
、@daily
、@hourly
每年执行一次:@yearly sh /scripts/script.sh
等同于:0 0 1 1 * sh /scripts/script.sh
其余几个用法同@yearly
相同,含义顾名思义
@reboot
这一用法多用于自动启动,和系统启动脚本一样,例如重启过后需要启动某项服务即可这么使用
@reboot sh /scripts/script.sh
最后给大家推荐一个网站,非常实用
crontab guru(建议挂上代理使用,不然速度很慢