crontab的时间表达式,一共5位,用空格分开,按照顺序分别表达了分时日月周,五位时间表达式的描述如下所示:
# .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
其中又包含了 反斜线(/)、逗号(,)、减号(-) 三个条件表达式含义分别如下:
/反斜线: 表示间隔
,逗号:表示and(和、与)
-减号: 表示范围(从...到...)
以下是部分示例:
每分钟执行1次
* * * * * /usr/bin/say "过去一分钟了"
每小时执行1次
0 * * * * /usr/bin/say "过去一小时了"
每天执行1次
0 0 * * * /usr/bin/say "又过去了一天(每天0点0分)"
每月执行1次
0 0 1 * * /usr/bin/say "又过去了一个月(每月1日0点0分)"
每周执行1次
0 0 * * 1 /usr/bin/say "又过去了一礼拜(周一0点0分)"
每天早上7:10执行1次
10 7 * * * /usr/bin/say "该起床了"
每小时的第2和第5分钟执行各执行1次(逗号表示与,此时表示2分与5分的时候执行)
2,5 * * * * echo '不是第2分钟就是5分钟' >> /Users/colin/Desktop/cron.log
上午8点到11点的第2分钟执行各执行1次(减号表示范围,此时表示8点到11点)
2 8-11 * * * echo '上午8点到11点的第2分钟' >> /Users/colin/Desktop/cron.log
每隔两天的上午8点03分执行1次(反斜线除号表示间隔,这里指间隔2天)
3 8 */2 * * echo '隔两天就执行一波(8点03分)' >> /Users/colin/Desktop/cron.log
每周一上午8点到11点的第3和第15分钟各执行1次
3,15 8-11 * * 1 echo ',逗号与;-减号到' >> /Users/colin/Desktop/cron.log
每月1、10、22日的4 : 45各执行1次
45 4 1,10,22 * * echo '45 4 1,10,22 * * 逗号表示and与' >> /Users/colin/Desktop/cron.log
每周六、周日的1 : 10各执行1次
10 1 * * 6,0 echo '分 时 日 月 周 逗号表示and' >> /Users/colin/Desktop/cron.log
每天18 : 00至23 : 00之间每隔30分钟执行1次
0,30 18-23 * * * echo '分 时 日 月 周 减号表示范围' >> /Users/colin/Desktop/cron.log
每星期六的晚上11 点(23时)执行1次
0 23 * * 6 echo '晚上11点请用23表示' >> /Users/colin/Desktop/cron.log
晚上11点到早上7点之间,每隔一小时执行一次
0 23-7 * * * echo '减号表示范围 23-7 ' >> /Users/colin/Desktop/cron.log
注意:本文归作者所有,未经作者允许,不得转载