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は何かと謎エラーで困惑することが多いので、ちゃんと勉強しないとなぁ。