簡體   English   中英

如何在LINUX上使用cron運行python腳本

[英]How to run a python script with cron on LINUX

我正在嘗試使用cron在raspberrypi上運行python腳本。

我做了以下工作:

crontab -e # To edit a crontab job

打開cron文件后,我添加了以下行:

@reboot /usr/bin/python /home/pi/path/to/file/example.py > /home/pi/cronlogs/mylog.log # JOB_ID_!

如果我正確地理解了文檔,則該cron作業應在系統啟動后每次執行。 但是,就我而言,當我重新啟動計算機時,該腳本將不會執行。

奇怪的是:

  • 我檢查了日志文件,它是空的,所以看來一切正常
  • 如果我手動運行給定命令(因此基本上將以下代碼寫入終端),它將執行並正常運行: /usr/bin/python /home/pi/path/to/file/example.py > /home/pi/cronlogs/mylog.log

我想我錯過了確實很明顯的東西,但我看不到。 請問任何建議如何調試此。 謝謝!

cron定義看起來正確; 我剛剛在運行Debian的Pi上檢查了一下,效果很好:

@reboot /usr/bin/python /home/pi/example.py > /home/pi/mylog.log

其他可能的原因可能不起作用:

  • 工作目錄問題(如果您使用相對路徑)
  • 長時間運行的腳本(作為抓取腳本可能需要一段時間才能完成)-您可以使用ps aux | grep python檢查它是否仍在運行ps aux | grep python ps aux | grep python
  • 該腳本不會輸出任何內容(需要有關該腳本的更多詳細信息)

為了確保您捕獲了腳本中的任何錯誤,請使用2>&1stderr重定向到stdout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM