2016-06-07 115 views
0

crontab中的代碼0 * * * * cd /home/scrapy/foo/ && scrapy crawl foo >> /var/log/foo.logcron無法運行Scrapy

無法運行爬網,因爲我的日誌文件中沒有日誌。 我使用0 * * * * cd /home/scrapy/foo/ && pwd >> /var/log/foo.log進行測試,它在日誌中回顯'/ home/scrapy/foo'。

我也試過PATH=/usr/local/binPATH=/usr/bin,但沒有成功。

我可以通過在命令行中鍵入cd /home/scrapy/foo/ && scrapy crawl foo來手動運行它。

有什麼想法?謝謝。

回答

0

問題解決了。而不是像root那樣運行爬網,請使用crontab -u user -euser創建一個crontab,並以user運行。

-1

您應該使用日誌模塊(https://docs.python.org/2/library/logging.html)不重定向。(如果你使用記錄模塊,您可以處理日誌路徑和日誌級別)

,並嘗試在crontab中這段代碼

0 * * * * /usr/bin/python2.7 /your/file/path/filename 

(或scrapy ..任何你想要的)

+0

這裏沒什麼關係。 'cron'會將任何在命令行輸出的信息放入'foo.log'中 – Harrison