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 件のコメント:
コメントを投稿