2015-03-02 148 views
0

被设置在crontab的下面一行。但是没有证实这一天。当我删除星期几时正确执行。任何建议?Cron执行错误

# 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") 
+1

添加一些有意义的解释。目前,理解你的问题的唯一方法是阅读代码,而我相信你可以自己解释它。您也可以阅读[从crontab wiki调试cron问题的提示](http://stackoverflow.com/tags/crontab/info) – fedorqui 2015-03-02 12:08:02

+1

谢谢。在这个链接回答我的问题时说:“......有一个例外:如果”月份的日期“和”星期几“都受到限制(不是”*“),则”月份的日期“字段(3)**或**“星期几”字段(5)必须与当前日期匹配...“ – 2015-03-02 13:04:16

+0

如何设置cron run only: 3月2日星期一 – 2015-03-02 13:11:31

回答

0

如果无法在crontab中定义时间间隔,则可以在脚本本身中使用日期/时间检查。您可以强制crontab在每个2月3日运行脚本,并在脚本实际上是星期一的时候检查脚本内部。如果不是,您可以退出脚本。

例如,

[[ $(date +%u) -ne 1 ]] && exit 

如果当天不是星期一,请退出。