2015年1月4日日曜日

さくらVPSでcronに設定したRailsのバッチが動かなくてはまった。

こんな漢字でRailsのscript下にあるバッチのプログラムをcrontabに設定していたがまったく動かない。


0 3 * * * cd /deploy/my_app/current; bin/rails runner -e production "MyBatch.new.run"


手で叩くと動くし、echoするだけのコマンドならcrontabで実行できる。cronのログを見てみると、ちゃんと実行しようとしているし。。。。
切り分けで ファイルを作成するだけのrubyのプログラムを作ってそれをcrontabに設定してみたらそれも動かない。ここまでやって、rubyのPATHがとってないってことに気づいた。
それで下記のようにcrontabの冒頭でPATH設定して解決。


PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/goy/bin

0 3 * * * cd /deploy/my_app/current; bin/rails runner -e production "MyBatch.new.run"



これも前にもはまった記憶があるな。。。
けっきょくRails関係ないLinuxの基本的なお話。

0 件のコメント:

コメントを投稿