cronでジョブを実行するときにハマったこと
個人的にcronでジョブを実行するときにつまづいたポイントをまとめました。
cron便利だけど、難解。
RubyでARGVに日本語を渡すとエンコーディングエラーでつっぱねられる。
→ crontabにLANG=ja_JP.UTF-8を追加すると動く。
動いてる気配がないし、ログも吐かない。
→ crontabファイルの最後は改行で終わらないといけない。
ログ is どこ。
→ /var/mail/ユーザ名
shじゃなくてbash使いたい
→ crontabにSHELL=/bin/bashを追加すると使える。
command not found
→ crontabにPATH=〜を追加する。$PATHは使えないので注意。
crontab -eでemacsで編集したいのにviが起動してうざい。
→ .bash_profileにexport EDITOR=emacsを書く。
crontab -eのつもりでcrontab -rを実行したら、crontabファイル消えた。
→ そういうオプションです。諦めてください。eとrはキーボード上で隣にあるし誤爆必至なので、crontabを編集したら、バックアップを忘れずに。
こんな感じです。
cronは何かと謎エラーで困惑することが多いので、ちゃんと勉強しないとなぁ。