RVMを使用してCronを介してRailsランナーを実行するシェルスクリプト
質問
の 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.2
ジェムセットで r321
?
解決
CronをRVMで作業させる方法は少なくとも4つあります。 https://rvm.io/integration/cron/
個人的には私が好きです 2. Loading RVM environment files in shell scripts.
他のヒント
あなたの問題は次のとおりです。RVMはユーザーシェルでのみ正しく機能しました。 RVMをインストールした後、Somethinkを書く必要があることを忘れないでください。
'[[-s "$ home/.rvm/scripts/rvm"]] &&。 「$ home/.rvm/scripts/rvm」
.zshrcまたは.bashrcで
RVMが関数としてロードする必要があるため、RVMを使用し、RVMを機能させないユーザーとは機能しないため、RVMを使用するWICHユーザーにCronに伝えます。システムRubyバージョンは自動的に使用されます。例:
0,30 * * * * username bash/path/to/my/script.sh
代わりに、RVMをMultiuser Showとしてインストールできます。 ここにリンクの説明を入力してください
所属していません StackOverflow