2012-02-21 49 views
2

執行軌道亞軍通過cron在crontab我:shell腳本與RVM

0,30 * * * * sh /path/to/my/script.sh 

,在我script.sh我:

#!/bin/bash 
rvm use [email protected] 
cd /path/to/my/proyect 
rails runner rails_script.rb 

但它不rvm1.9.2加載,在我的情況下,它保持在系統設置1.8.7

我該怎麼做才能確保跑步者在rvm1.9.2中跑步,其中的跑腿是r321

回答

5

有至少有4種方式,使與cron的工作RVM:https://rvm.io/integration/cron/

我個人比較喜歡2. Loading RVM environment files in shell scripts.

+0

當我運行'$ rvm env --path - 1.9.2 @ r321'時,它返回'/ home/ubuntu/.rvm/environments/ruby​​-1.9.2-p290 @ r321'然後編輯我的腳本並添加'source/home/ubuntu/.rvm/environments/ruby​​-1.9.2-p290 @ r321'但是當我運行這個腳本時它說:'source:not found',有什麼想法爲什麼? – 2012-02-22 17:51:16

+0

這個文件存在嗎? – mpapis 2012-02-22 19:28:24

+0

是的,文件'ruby-1.9.2-p290 @ r321'位於'/ home/ubuntu/.rvm/environments /' – 2012-02-22 19:38:11

1

我認爲你的問題是:RVM在你的用戶shell中工作正確。在安裝rvm之後記住 ,你必須寫一些像。

「[[-s 「$ HOME/.rvm /腳本/ RVM」]] & &。 「$ HOME/.rvm /腳本/ RVM」

在您的.zshrc

或.bashrc中與用戶至極

泰爾的cron使用RVM因爲RVM必須作爲一個功能 和與用戶是不加載加載rvm作爲一個功能,它將無法正常工作,並自動使用系統紅寶石版本。 例子:

0,30 * * * * USERNAME慶典/path/to/my/script.sh

alternativly你可以在安裝RVM多用戶顯示:enter link description here