cronでrbenvのrubyを実行する
cronのバッチ経由でrubyスクリプトを実行しようとしたところ、rbenvでインストールしたrubyだったためうまくバッチが実行できない現象に遭遇しました。
その時の対応方法メモ。
- ~/.bashrc にrbenvの設定を行う
# ~/.bashrc
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"
- cron設定を変更
crontab -e
0 12 * * * /bin/bash -lc '/home/user/sample/cron.sh' # 毎日12時にrbenvのrubyを用いてcron実行
bashのlオプションを渡すと、ログインシェルと同じ環境変数が設定されるそうです。