2017-04-01 192 views
0

我有一個bash腳本,需要在每天晚上9:30執行。它的名爲fetchIND.sh,我已經在我的選項卡中爲此指定了shell和path參數,如下所示。它應該使用sftp從另一臺服務器上獲取文件,並且手動工作得很好。但是,用crontab是不會執行的。Crontab將不會執行我手動執行的腳本

我的crontab條目:

06 21 * * *根在/ usr /斌/慶典/root/IND/fetchIND.sh

後「的ps aux

結果|的grep的bash」命令:

根5815個0.0 0.0 8984 808 PTS/0 S + 21:06 0:00的grep --color =汽車的bash

然而,我的腳本不實際執行。任何關於這方面的幫助都會很棒。謝謝!!

+0

請拿看看[編輯幫助](http://stackoverflow.com/editing-help)。 – Cyrus

回答

0

cron可能會嘗試在cron shell中運行此操作,該操作可能沒有在root shell中運行該命令的權限。

添加sudo可能會完成這項工作。請參閱本作更https://superuser.com/a/1046126

0

(編輯了一個建議,進行語法檢查 - 這似乎是有效的爲CentOS離開其他的建議,加入細節 - 。對不起,我沒有足夠的因緣評論,嘿嘿)

您的腳本可能依賴於事情時,由cron守護程序調用的是不同的:你可能在你的shell已經改變了的環境變量,訪問一個tty等

您可以通過附加重定向調試它:

06 21 * * * root /usr/bin/bash /root/IND/fetchIND.sh 2>&1 >> /tmp/trace_when_running_from_crontab.log 
+0

嘿。 'root'出現的原因是因爲我的crontab要求在命令之前指定用戶名。我正在使用Cent OS,因此格式可能不同 – Vedant7