在crontab上设置如下。但是没有验证这一天。当我删除de day of week正确执行。有什么建议吗?
# uname -a
Linux server 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue
Red Hat Enterprise Linux Server release 6.4 (Santiago)
Kernel \r on an \m
# date
Mon Mar 2 08:50:19 BRT 2015
# crontab -l
* * 1 3 1 echo "teste"
# tail -f /var/log/cron
Mar 2 08:38:01 server CROND[10509]: (root) CMD (echo "teste")
答案 0 :(得分:0)
如果无法在crontab中定义时间间隔,则可以在脚本本身中使用日期/时间检查。您可以强制crontab在每年的3月2日运行脚本,如果当天实际是星期一,则检查脚本内部。如果没有,您可以退出脚本。
例如
[[ $( date +%u ) -ne 1 ]] && exit
如果当天不是星期一,请退出。
答案 1 :(得分:0)
About crontab " ...有一个例外:如果两个"一天中的某一天"和#34;星期几"是受限制的(不是" *"),然后是#34;某一天"字段(3)或"星期几" field(5)必须与当天匹配。 ..."
Run a cron job on the first Monday of every month?和How to run a cron job on the first weekday of the month
中也存在类似的问题所以,在crontab中设置:
* * 1 3 * [" $(日期' + \%a')" ==" Sun" ]&& / bin / mkdir / tmp / cronsilvioteste