全体の流れ
-
crontab -e
で開かれるファイルに実行間隔と実行したいコマンドを書く - 実行される
- やったぜ。
crontabの書き方
こちらのサイトが例が多くて分かりやすいです
crontabの書き方
自分は最終的に0 * * * * /bin/bash -cl 'cd (xx.rbのあるディレクトリ) && ruby -Ku xx.rb'
のようなものを書きました
詰まった点
crontabを書いて保存しても更新されない
viで開くと保存されないみたい…?
'EDITOR=nano crontab -e' などで他のエディタを指定しましょう
cron書いたのに定期実行してない
/var/mail ディレクトリにログが出ているので確認しましょう
自分で'ruby xx.rb'とすると動くのにcronから実行するとエラーが出る
requireが無いとかのエラー
→ rbenvのglobalを見るとsystemになっていたので、普段使ってる2.0.0-p247に変更したらエラーが消えました
US_ASCIIが云々のエラー
→ rubyの実行オプションに-Kuを追加したら消えました
参考
橋本商会 crontabでrbenvのrubyを使う
cronでrbenvのrubyを使う3つの方法
Ruby-cronで「invalid byte sequence in US-ASCII」例外発生!