EDIT 2 27/06/2013 python腳本:這個問題是一個愚蠢的錯誤無關VENV和cron。 用cron運行venv與創建venv的同一個用戶使用下面的激活描述很好。的Cron&VIRTUALENV:克朗不運行需要的virtualenv
編輯 25/06/2013:由於nohup.out在cron運行後沒有改變,我懷疑問題在於使用virtualenv。 cron的設置與用戶從命令行運行腳本的用戶相同。
我已經寫了一個腳本來激活venv然後運行一個python腳本。它完美地在命令行中運行,當我做
nohup /home/heyheyhey/run.sh &
然而,對於一些魔法的原因,蟒蛇部分不從cron運行:run.sh的
0 4 * * * /home/heyheyhey/run.sh &
內容:
#! /bin/bash
cd /home/heyheyhey
. /home/heyheyhey/.pythonbrew/venvs/Python-2.7.2/venvname/bin/activate 2> error.log
python /home/heyheyhey/top.py 2> error.log
bzip2 -c "Exporter.csv" > "extraction.csv.bz2"
run.sh會在創建輸出壓縮文件後執行。 但是,python腳本不起作用,因爲Exporter.csv沒有更新,我沒有看到日誌文件中的活動。
感謝您的幫助!
沒有必要在cron作業中使用'nohup'或'&'。 'nohup'沒有必要,因爲沒有終端可以斷開連接,'&'不需要,因爲cron中的所有內容都在後臺有效。 – Barmar
是的,我同意,但我嘗試過,沒有nohup,沒有區別,python腳本仍然不運行! – antoinet
我從來沒有說過會有所作爲,我只是說沒有必要。 – Barmar