BLOGTIMES
2009/11/24

再起動時に一度だけ実行されるcron定義

  linux 
このエントリーをはてなブックマークに追加

先日のcrontab -r とやってしまった時の対処法のアクセスが意外と多くてかなり驚きました。ちなみに僕はクーロンと読む派です。それはそうと、これを機にちゃんとcrontabのmanを読んでみたら、日次の定義に@rebootと書くと再起動時に一度だけ実行されるcron定義がかける事が判明。CentOS 5.3では、日本語のmanにはこの部分が記載されていませんでした

$ man 5 crontab

These special time specification "nicknames" are supported, which replace the 5 initial time and date fields, and are prefixed by the '@' character:
@reboot : Run once, at startup.
@yearly : Run once a year, ie. "0 0 1 1 *".
@annually : Run once a year, ie. "0 0 1 1 *".
@monthly : Run once a month, ie. "0 0 1 * *".
@weekly : Run once a week, ie. "0 0 * * 0".
@daily : Run once a day, ie. "0 0 * * *".
@hourly : Run once an hour, ie. "0 * * * *".

自分の開発用のLinuxマシンで再起動する度にRoRのアプリを起動し直すのがちょっと面倒だったんですが、crontabにこう書いておくと勝手に起動できるようになっていい感じです。

@reboot (cd /path/to/rails && ruby script/server -d) >/dev/null 2>/dev/null

管理が面倒になりそうなので、乱発は避けたいところですが、例えばroot権限がなくてinit.dにスクリプトが仕込めない場合に使うと便利そうです。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3306
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン