Home

技術系のメモと日々の雑感

cron ジョブの設定ミス

1 分間に複数回実行する cron ジョブの設定をミスしていた。

* * * * * /root/hoge.sh; sleep 30; /root/hoge.sh

としていたんだけど、この hoge.sh が 15 秒ぐらいかかっているのに気付かないまま数ヶ月・・・。
これだと、毎分 0 秒ぐらいに hoge.sh が開始されて、それが終わってから 30 秒待って、再び hoge.sh が開始されてしまう。
つまり、後の方の hoge.sh は 45 秒ぐらいから始まるので、0 秒前後に同時に 2 つ走っている可能性があるわけだ。
sleep の値を短くしてもいいけど、スクリプトの実行時間は一定ではないから、無理して 1 行にまとめない方がよさそう。

* * * * * /root/hoge.sh
* * * * * sleep 30; /root/hoge.sh

こう書くのが一般的なんだね。

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/04/26(金) 09:29:47

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する