Crontab星期几的语法
在crontab中,“星期几”字段是从0 - 6
还是从1 -7
?
我看到这方面的信息有冲突。 维基百科国家0-6
和其他我看到的网站是1-7
。
还有什么意思,或者不正确地使用0
或7
? 即将cron仍然运行?
0
和7
都代表星期天,你可以使用你想要的,所以写0-6或者1-7的结果相同(更好的例子见下面代码中的注释)。
从1
到6
的数字固定为Monday
, Saturday
。
graphics:
┌────────── minute (0 - 59) │ ┌──────── hour (0 - 23) │ │ ┌────── day of month (1 - 31) │ │ │ ┌──── month (1 - 12) │ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or │ │ │ │ │ 1 - 7 => Monday - Sunday) ↓ ↓ ↓ ↓ ↓ * * * * * command to be executed
另外,正如@Henrik所build议的那样,可以用缩短的天数replace数字,如MON
, THU
等。
最后,如果你想指定一天一天,你可以用逗号隔开几天,比如SUN,MON,THU
只会在星期四,星期四星期四执行命令。
更多关于维基百科的信息。
根据Cyril Bouthors的回答,这里是英文缩写的星期几,可以用来代替数字:
0 -> Sun 1 -> Mon 2 -> Tue 3 -> Wed 4 -> Thu 5 -> Fri 6 -> Sat 7 -> Sun
星期天( 0
和7
)有两个数字可以用于编写以0
开始或以7
结尾的星期几范围。
数字或缩写的例子使用
接下来的四个例子将会完全相同,并在每周五,周六和周日的9点15分执行一个命令:
15 09 * * 5,6,0 command 15 09 * * 5,6,7 command 15 09 * * 5-7 command 15 09 * * Fri,Sat,Sun command
你也可以使用星期一, Tue
星期二等星期Tue
,这更加人性化。