2015-04-01 58 views
0

我已經設置了一個cron作業,如下所示,但它不會運行。當我手動運行腳本時,我沒有看到任何錯誤。Crontab將不會自動運行

#_____WPR Jobs 
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log 
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_y_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_y_wpr.log 
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_z_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_z_wpr.log 

當我手動執行腳本(如下所示)時,它也會順利運行日誌記錄。

/var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log 

回答

2

crontab正試圖執行mon-sat作爲命令。

星期幾被指定爲crontab條目的第5個字段。您有*,這意味着它可以在一週中的任何一天運行。刪除第5個字段,使mon-sat爲第5個字段。 (有趣的是,我現在才知道,現在的crontab會認識的名字。)

最新資料:crontab(5) man page(類型man 5 crontab讀它你的系統上)說:

名也可以用於「月」和「星期幾」字段。使用 特定日期或月份的前三個字母(案例不是 的問題)。範圍或名稱列表是不允許的。

你說mon-sat爲你工作。一個快速實驗表明,名稱範圍實際上有效,但由於文檔說他們不被允許,所以我建議不要依賴這些。如果您希望工作週一至週六運行,請寫1-6而不是mon-sat

+0

謝謝!它像一個魅力! – Casperonian 2015-04-01 01:01:27

+1

對名稱而不是數字的支持似乎是Vixie功能,並不是POSIX功能。 Solaris和AIX不支持它,NetBSD,FreeBSD和Linux。另外,crontab(5)的RedHat手冊頁上說__'Ranges或者名稱列表是不允許的,所以這在技術上仍然是錯誤的。 – 2015-04-01 15:32:19

+0

@ Thisisn'tmyrealname:謝謝,我錯過了。我會做一些測試,以確認它是如何工作的,並更新我的答案。 – 2015-04-01 16:06:51