我正在使用whenever gem with rails 3.在我的生產服務器(ubuntu)上,runner任務不運行。我試圖設置:set job_template
以獲得-l -i
,如this github ticket中所述。但是這並不能解決問題。每當導軌3的crontab文件中的PATH ubuntu
在這個特定的生產Ubuntu的問題是,紅寶石路是不是有在echo $PATH
:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
而紅寶石路徑是/var/rails/myapp/shared/bundle/ruby/1.8/bin
因此,如果我手動編輯crontab文件並將PATH=/var/rails/myapp/shared/bundle/ruby/1.8/bin: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
添加到crontab文件,runner任務將正確執行。
但是,每次我進行部署時,我都需要手動編輯crontab文件以向其添加PATH語句。
是否有任何方法在crontab文件中添加此PATH行,以便在每次部署後都不需要手動執行此操作?
感謝
謝謝!將/var/rails/myapp/shared/bundle/ruby/1.8/bin添加到cron用戶的PATH或編輯/ etc/environment或cron用戶的bashrc不起作用。它只在PATH語句存在於crontab文件中時有效。您提到的env:PATH選項正確地將PATH行添加到crontab文件。只有一個問題是添加$ PATH的語法。當前的方法不擴展$ PATH值。因此,在crontab文件中輸入的行是PATH = $ PATH:/var/rails/myapp/shared/bundle/ruby/1.8/bin。 – ami 2011-04-19 06:08:09