2014-12-06 44 views
-1

問題是,當我通常從終端執行Python腳本時它工作正常,但是當從cron執行相同的文件時,服務器上沒有更新結束。Python腳本沒有從crontab發送數據庫日誌到服務器

文件權限已設置爲755.之前出現錯誤「未安裝MTA,放棄輸出」;解決我在我的cron工作結束時使用>/dev/null 2>&1。之後,我得到了沒有錯誤,但問題仍然是一樣的。另外我已經提到了我的python腳本之上的環境。 配置cron如下:

* * * * * sudo python3 /home/pi/json_working/json_to_server_update.py >/dev/null 2>&1 
+0

在從cron創建日誌文件時,我發現「os.path.isfile(filename)」與其在終端上的工作方式不同。雖然該文件存在,但在cron「os.path.isfile(filename)」中運行的腳本由於未將文件同步到服務器而返回false。如何克服這一點? – 2014-12-06 09:22:54

+0

您使用的是用戶crontab還是系統crontab?如果您使用的是系統crontab,那麼當它運行Python腳本時,它可能會針對'PATH'環境變量使用不同的值。另外,如果您可以發佈您的Python腳本(至少足以嘗試重現您的問題),那就太好了。 – Jubbles 2014-12-06 21:13:50

回答

1

現在問題就解決了。我正在使用用戶crontab,我通過使用os.path.isfile(「os.path.join(」path「,」file name「))而不是os.path.isfile(」path of file「)來解決問題。後者實際上是一個路徑而不是文件,所以輸出始終是錯誤的,並且由於這個原因沒有進行同步。現在一切正常。

相關問題