凌的博客

您现在的位置是: 首页 > 学无止境 > Linux > 

Linux

crontab语法

2019-10-03 Linux 1588

crontab格式如下所示:

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                       7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * *  command to execute
是否必须 取值范围 可用特殊符号 备注
Minutes Yes 0–59-
Hours Yes 0–23-
Day of month Yes 1–31- WW部分实现可用
Month Yes 1–12 or JAN–DEC-
Day of week Yes 0–6 or SUN–SAT- #W 部分实现可用
Year No 1970–2099- 标准实现里无这一项


特殊符号功能说明:

逗号(,)
逗号用于分隔一个列表里的元素,比如 “MON,WED,FRI” 在第五域(day of week)表示Mondays, Wednesdays and Fridays。

连字符(-)
连字符用于表示范围,比如2000–2010表示2000到2010之间的每年,包括这两年(闭区间)。

百分号(%)
用于命令(command)中的格式化

L
表示last,最后一个,比如第五域,5L表示当月最后一个星期五

W
 W表示weekday(Monday-Friday),指离指定日期附近的工作日,比如第三域设置为15L ,这表示临近当月15附近的工作日,假如15号是星期六,那么定时器会在14号执行,如果15号是星期天,那么定时器会在16号执行,也就是说只会在离指定日期最近的那天执行。

井号#
 #用于第五域(day of week),#后面跟着一个1~5之间的数字,这个用于表示第几个星期,比如5#3表示第三个星期五

?
在有些实现里面,*的功能相同,还有一些实现里面?表示cron的启动时间,比如 当cron服务在8:25am启动,则? ? * * * *会更新为25 8 * * * *, 直到下一次cron服务重新启动,定时器会再次更新。

/
 /一般与*组合使用,后面跟着一个数字,表示频率,比如在第一域(Minutes)中*/5表示每5分钟,是普通列表表示5,10,15,20,25,30,35,40,45,50,55,00的缩写


文章评论

0条评论