这个 cron 作业什么时候执行?
When does this cron job get executed?
我在 crontab 中看到了这个 cron 设置,我很好奇脚本实际执行的时间。
8 10 * * 6 expr `date +\%W` \% 2 == 1 >/dev/null || /path/to/script/scriptToRun.sh
如此挑剔的语法...
8 10 * * 6 expr `date +\%W` \% 2 == 1 >/dev/null || /path/to/script/scriptToRun.sh
首先,cronjob:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
8 10 * * 6
所以在这种情况下,这意味着 cronjob 在每个星期六 10.08. 执行 。
然后,man date
说:
%W
week number of year, with Monday as first day of week (00..53)
$(date +\%W) \% 2 == 1 >/dev/null
表示:如果周数不是2的倍数,则输出到dev/null。否则,正常进行。
因此脚本会在 每隔一个星期六的 10.08 执行。
我在 crontab 中看到了这个 cron 设置,我很好奇脚本实际执行的时间。
8 10 * * 6 expr `date +\%W` \% 2 == 1 >/dev/null || /path/to/script/scriptToRun.sh
如此挑剔的语法...
8 10 * * 6 expr `date +\%W` \% 2 == 1 >/dev/null || /path/to/script/scriptToRun.sh
首先,cronjob:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
8 10 * * 6
所以在这种情况下,这意味着 cronjob 在每个星期六 10.08. 执行 。
然后,man date
说:
%W
week number of year, with Monday as first day of week (00..53)
$(date +\%W) \% 2 == 1 >/dev/null
表示:如果周数不是2的倍数,则输出到dev/null。否则,正常进行。
因此脚本会在 每隔一个星期六的 10.08 执行。