[英]Crontab not working for python
我試圖設置一個cron任務,以每天在特定時間運行python腳本。 這是我的crontab -e
:
53 16 * * * python /code/4dlife/pythonscript.py
我將其設置為16:52,然后等待並觀看,但終端上什么也沒有出現。 我檢查了nano CRON /var/log/syslog
但是它是空的。
我究竟做錯了什么? 我可以在打開腳本的同一終端上看到腳本嗎? 如果沒有,我還能在哪里看到輸出? 但是首先,我需要使其工作。
注意:
#!/usr/bin/env python
您的腳本在終端中是否可以正常工作? 我的意思是,當您鍵入:
python /code/4dlife/pythonscript.py
結果出現了嗎?
我曾經在cron中遇到過Python問題,但是當我開始使用virtualenv / virtualenvwrapper + pyenv時,這些問題就解決了。
從他們開始,我就使用cron使用Python的完整路徑運行命令,例如
53 16 * * * /usr/bin/python /code/4dlife/pythonscript.py
。 要獲取完整路徑,請在外殼中運行
$ which python
並使用我顯示的路徑。
區別在於,就我而言,Python二進制文件位於特定的文件夾( ~/.virtualenv/<env-name>/bin/python
)中。
在crontab中使用python可執行文件的確切路徑:
53 16 * * * /usr/bin/python /code/4dlife/pythonscript.py
這樣,您可以確定您的crontab知道在哪里可以找到python。
調試自動運行的腳本的一種方法是寫入syslog:
import syslog
syslog.syslog(syslog.LOG_ERR, "---SCRIPT START---")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.