如何在crontab中如何在crontab + virtual env中運行自定義的manage.py?
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
與虛擬ENV運行?我需要首先激活的virtualenv(否則它不工作)
這是我的虛擬ENV:
source job/bin/activate
如何在crontab中如何在crontab + virtual env中運行自定義的manage.py?
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
與虛擬ENV運行?我需要首先激活的virtualenv(否則它不工作)
這是我的虛擬ENV:
source job/bin/activate
編輯:
嘗試是這樣的:
*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
這應該被理解爲:激活env和,如果這是成功的,EXCUTE的manage.py腳本。由於manage.py應該有一個python shebang,並且虛擬env設置了正確的python解釋器,這應該起作用。
顯然cron通常與/bin/sh
一起運行,它不知道source
命令。所以一種選擇是使用點作爲source
替代品。另設置/bin/bash
中的cron文件:
SHELL=/bin/bash
*/1 * * * * source /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
在閱讀更多關於這個問題: http://codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/ 文章沒有提到source
可以通過.
所取代,但我只是嘗試它和它爲我工作。所以你現在有幾種選擇可供選擇,甚至還有其他的文章。 ;)
使用類似~/envs/someenv/lib/python /path/to/your/script
在您的情況它看起來像
*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics
*/1 * * * * /桌面源碼作業/ bin /激活&& /家庭/用戶/桌面/作業/ dp python manage.py統計不起作用 – user2054574 2013-02-08 16:14:14
我已更新我的答案。請確保使用絕對路徑或相應地使用'cd'命令鏈接它們。 – 2013-02-08 16:40:37