亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Cron和virtualenv

Cron和virtualenv

MMTTMM 2019-11-05 14:36:53
我正在嘗試從cron運行Django管理命令。我正在使用virtualenv將我的項目沙盒化。我在這里和其他地方都看到了一些示例,這些示例顯示了在virtualenv內部運行管理命令的過程,例如:0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg但是,即使syslog在任務應該啟動時顯示一個條目,該任務也不會實際運行(腳本的日志文件為空)。如果我從外殼程序手動運行該行,它將按預期工作。當前,我可以通過cron來運行命令的唯一方法是將命令分解并將其放入笨拙的bash包裝器腳本中:#!/bin/shsource /home/user/project/env/bin/activatecd /home/user/project/./manage.py command arg編輯:ars提出了一種有效的命令組合:0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg至少就我而言,為virtualenv調用激活腳本沒有任何作用。這是可行的,因此在演出中如此。
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

與其擺弄特定于virtualenv的shebang,不如擺PATH在crontab上。


在激活的virtualenv中,運行以下三個命令,并且python腳本應該可以正常工作:


$ echo "PATH=$PATH" > myserver.cron

$ crontab -l >> myserver.cron

$ crontab myserver.cron

現在,crontab的第一行應如下所示:


PATH=/home/me/virtualenv/bin:/usr/bin:/bin:  # [etc...]


查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 447 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號