2011-09-29 100 views
0

我使用rvm。和ruby 1.9.2安裝在rvm中。紅寶石 - 無需在cronjob中加載寶石

我有一個腳本,它在終端中運行良好。 我已經寫了一個cron作業相同的腳本:

27 * * * * su - sayuj -c 'cd /path/to/dir; /home/sayuj/.rvm/rubies/ruby-1.9.2-p136/bin/ruby script.rb >> /var/log/script.log 2>&1' 

那麼就說明沒有寶石是加載錯誤。我認爲cron並不是指rvm ruby​​ 1.9.2。

我該如何解決這個問題?

+0

將腳本放入從crontab調用的包裝程序腳本中。這將真正幫助調試,並可能只是解決您的問題。如果只是清除了,請在頂部添加#!/ bin/bash -x,並查看env調用的輸出,並與運行env的命令行結果進行比較。 –

回答

1

您需要將cd /path/to/dir;更改爲真實目錄。 然後,創建一個名爲.rvmrc這個內容裏面的文件:

rvm use 1.9.2 

它會執行每次你進入該目錄時,設置爲紅寶石的正確版本。