cronでありがちな失敗

至極当たり前のことですが、たまーに新しいpcでcronを動かすと遭遇してしまうありがちな失敗です。

– 実行ファイルに実行権限がない

# chmod 0774 filename

とかしておきましょう。適切なownerでコマンドを実行することも忘れずに。

– パスが通っていない
ログインして実行した場合には環境変数のPATH(/usr/binなど)が有効になっているがcronから実行した場合はPATHが有効になっておらず、いつもは成功するコマンドが失敗したりします。

実行ファイルでPATHを通したり絶対PATHで書くのも良いですが混乱を避けるためcrontabにPAHT=も書いておきましょう。

# env

を実行してPATH=…の部分をcrontabの上の方に入れておけば
ログインして実行した場合と同じ挙動を得ることができるでしょう。

例)

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