ane*_*ane 16 cron syntax crontab
我在几个不同的 linux 和 freebsd 系统上将它添加到 /etc/crontab 中:
# monthly reboot: 3rd Tuesday of every month
56 07 15-21 * 2 root /sbin/shutdown -r now
Run Code Online (Sandbox Code Playgroud)
我想在每个月的第三个星期二重新启动。然而,所有系统都在本月的第三个星期三(19日)重新启动。
我究竟做错了什么?
更新:感谢 Ranon 在下面的回答,看起来下面的修订版会起作用,任何人都可以确认或者有更好的方法吗?
# monthly reboot: 3rd Tuesday of every month
56 07 15-21 * * root test $(date +\%u) -eq 2 && /sbin/shutdown -r now
Run Code Online (Sandbox Code Playgroud)
Jen*_*rat 17
看看man 5 crontab。
注意:命令执行的日期可以由两个字段指定 - 月中的某天和一周中的某天。如果两个字段都受到限制(即不是 *),则当任一字段与当前时间匹配时,将运行该命令。例如,“30 4 1,15 * 5”将使命令在每个月的 1 号和 15 号以及每个星期五的凌晨 4:30 运行。但是,可以通过向命令添加测试来获得所需的结果(请参阅下面示例 CRON 文件中的最后一个示例)。
所以你的服务器应该每天从 15-21 和每个星期二重新启动。
看看联机帮助页的示例:
# Run on every second Saturday of the month
0 4 8-14 * * test $(date +\%u) -eq 6 && echo "2nd Saturday"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11761 次 |
| 最近记录: |