2015-03-02 143 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 

如果當天不是星期一,請退出。