3

crontabが持っている:

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

そして私のscript.sh中には:

#!/bin/bash
rvm use 1.9.2@r321
cd /path/to/my/proyect
rails runner rails_script.rb

rvmしかし、それはでロードされません、それは私の場合1.9.2であるシステム設定にとどまります。1.8.7

ランナーがジェムセットrvmで走っていることを確認するにはどうすればよいですか?1.9.2r321

4

2 に答える 2

6

cron を RVM で動作させるには、少なくとも 4 つの方法があります: https://rvm.io/integration/cron/

個人的には2. Loading RVM environment files in shell scripts.

于 2012-02-21T23:22:02.373 に答える
1

あなたの問題は次のとおりだと思います:RVMはユーザーシェルでのみ正しく機能しました。rvm をインストールしたら、次のように書く必要があることを忘れないでください。

'[[ -s "$HOME/.rvm/scripts/rvm" ]] && . 「$HOME/.rvm/scripts/rvm」

.zshrc または .bashrc で

rvm は関数としてロードする必要があり、rvm を関数としてロードしないユーザーでは機能せず、システムの ruby​​ バージョンが自動的に使用されるため、rvm を使用するユーザーで cron に伝えます。例:

0,30 * * * * ユーザー名 bash /path/to/my/script.sh

または、マルチユーザー ショーとして rvm をインストールすることもできます:ここにリンクの説明を入力してください

于 2012-02-21T21:25:32.650 に答える