cronからbundle exec...はsu - <USER> -lc ...が一番便利

More than 1 year has passed since last update.

って自分は思ったのですが、みなさんはどうやってるんでしょうか?

0 */1 * * * root su - <USER_NAME> -lc "cd /home/<USER_NAME>/yourproject_path && bundle exec ruby hoge.rb" >> /var/log/yourproject/cron/hoge.log 2>&1

ちなみに実行するユーザーである<USER_NAME>.bash*とかにruby関連の設定が書いてある前提です。

rbenvだったら


.bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"

eval "$(rbenv init -)"

xbuildとかで入れてるなら


.bashrc

export PATH=$HOME/local/ruby-2.1/bin:$PATH