2016年3月18日金曜日

cron が動かないシンプルな理由

こんな crontab 書いてました。
0 3 2-31 * * /root/backup_log.sh >> /var/log/backup.log 2>> /var/log/backup.log
0 3 1 * * /root/backup_and_delete_log.sh >> /var/log/backup.log 2>> /var/log/backup.log
/root/backup_log.sh の内容はこんな感じ。
echo "+++ $(date) +++"
rsync -a /root/backup.log
echo "--- $(date) ---"
cron のサービスも生きているのに、全く実行された気配もないし、ログも残っていない。
cron のエラーログもなく、なんでだろ? と思っていたら、ふいにひらめいた。

 「スクリプトの先頭にシェバン(#!)がありませんよ…」

そこだけ修正したら、無事動くようになった!

コマンドラインからスクリプトを実行しているときは、何の気なしにシェルから呼んでいたけど、うっかりしていました。

0 件のコメント:

コメントを投稿