2014-09-29 56 views
0

我想要一個用戶(tcff)每天早晨凌晨2點運行兩個python腳本。Cron沒有爲用戶運行

我已經正確安裝了此用戶以下的crontab:

[email protected]> crontab -l 

0 2 * * * python /home/tcff/path/to/myscript1.py 
0 2 * * * python /home/tcff/path/to/myscript2.py 

每個腳本的權限是:

-rwxr-xr-x 1 tcff tcff 5522 Sep 25 12:41 myscript1.py 
-rwxr-xr-x 1 tcff tcff 5522 Sep 25 12:41 myscript2.py 

當我直接打電話給每個腳本,他們很好地工作:

[email protected]> python /home/tcff/path/to/myscript1.py 

[Output as expected] 

然而,他們不是每天早上凌晨2點由cron運行。

我無法解決這個問題。我相信我有權限正確等?

+3

查看http://stackoverflow.com/tags/crontab/info中的「調試crontab」部分。我在'python'下注全路徑。 – fedorqui 2014-09-29 13:28:24

+1

您可以爲失敗的cron作業設置通知電子郵件。它包含足夠的信息來調試問題。最有可能的是,正如@fedorqui所說,這是一個PATH問題。 – 2014-09-29 13:35:44

回答

1

是的,的確,這些腳本沒有運行的原因是因爲我沒有使用的完整路徑,Python的二進制:

0 2 * * * /usr/bin/python /home/tcff/path/to/myscript2.py 

這是必要的,因爲雖然外殼(bash)的有在/ usr/bin在PATH上運行cron的進程沒有。

0

首先給予腳本文件的完全權限。

chmod 777 script_name 

而且跟蹤的crontab的日誌,看看有什麼用的cronjob發生在這裏你可以看到crontab中的所有日誌。可能會有任何異常或錯誤。

[email protected]:[~]: tail -f /var/log/cron