Cron执行错误

时间:2015-03-02 11:53:24

标签: linux cron crontab cron-task crontrigger

在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")

2 个答案:

答案 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