2011-05-10 61 views
3

當我運行此命令時,輸出信息被保存到ok.txt:如何知道的cronjob失敗(運行一個python命令)

/home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt 

我有這樣的cronjob:

* * * * * /home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt 

但沒有保存到ok.txt

當我看到cron的日誌

> sudo grep CRON /var/log/syslog 

May 10 22:16:01 localhost CRON[23397]: (admin) CMD (/home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt) 

這裏沒有提示,我做錯了什麼?提前致謝。

+1

如果運行crontab時發生錯誤,您應該收到郵件。確保您閱讀本地郵件或將本地郵件重定向到您閱讀的帳戶。有可能是這個'virtualenvs'不能從cron獲得;你應該解釋它是什麼。 – Gilles 2011-05-10 23:20:36

+0

爲什麼要關閉它?如果它與編程完全相關,那麼cuz開發人員會使用自動化作業補充他們的代碼! 「開發人員寫cronjobs」 - 刪除的答案是正確的!你爲什麼關閉它的管理員? – panchicore 2011-05-11 00:01:18

+0

僅僅因爲你碰巧是開發人員並不會使這是一個編程問題。這是一個用戶問題,所以我投票將其遷移到[超級用戶](http://superuser.com/),這將是適當的。我與被刪除的答案無關。 IIRC有一個重大的錯誤,所以也許作者意識到這一點並將其刪除。 – Gilles 2011-05-11 00:07:54

回答

1

嘗試這樣的:

* * * * * /home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help > /tmp/ok.txt 2&>1 

應該把所有的輸出(標準錯誤和標準輸出)到您的ok.txt文件

+1

爲了支持上述內容,請始終在crontab條目中使用完整路徑,誰知道工作目錄是什麼,即使您知道不要指望它。 – 2011-05-11 17:54:27

0

首先我看到你不具備的crontab正確的語法:

Example of job definition: 
.---------------- minute (0 - 59) 
| .------------- hour (0 - 23) 
| | .---------- day of month (1 - 31) 
| | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
| | | | | 
* * * * * user-name command to be executed 

您缺少用戶名。

而第二件事。不要以爲你的.bashrc已經加載。在cron中,您只需獲取在文件頂部定義的環境。所以如果你的腳本正在使用你在bashrc中定義的東西,那麼它可能會導致它不能正確執行。

相關問題