CRON(8)

名称
cron - 定期的にコマンドを実行するデーモン (Vixie Cron)

書式
cron [-s] [-o] [-x debugflag[,...]]

解説
cron ユーティリティは、通常は /etc/rc もしくは /etc/rc.local から起動されます。このコマンドは実行するとすぐに返ってくるので、起動時に `&' をつける必要はありません。

cron ユーティリティは、 /var/cron/tabs ディレクトリの下から /etc/passwd 内のアカウント名と同じ名前の crontab ファイルを探し、見つかったファイルを メモリに読み込みます。 cron ユーティリティは、別のフォーマットの /etc/crontab ( crontab(5) を参照してください) も調べます。このあと、 cron ユーティリティは 1 分おきに目覚めて 読み込んでいるすべての crontab ファイルを調べ、各コマンドをその時刻に 実行させるべきかどうかを調べます。コマンドを実行する場合には、出力がメールで crontab ファイルの所有者 (もしくは crontab ファイル内の環境変数 MAILTO で指定されたユーザ) に送られます。

さらに、 cron は 1 分おきにスプールディレクトリの最終更新時刻 ( /etc/crontab の最終更新時刻も ) が変わっているかどうかを調べます。もし 変化があれば、すべての crontab ファイルの最終更新時刻を調べ、変更のあった ものを読み直します。このため、crontab ファイルを変更したときに cron をリスタートさせる必要はありません。 crontab(1) コマンドが crontab ファイルを変更したときにスプールディレクトリの最終更新時刻も更新されることに 注意して下さい。

使用可能なオプションは次の通りです:

-s  ローカルタイムゾーンの GMT との差が変わる場合を、特別に扱います。 例えば、標準時と夏時間との間での移行がこれに該当します。

    GMT との差が変わる期間でも、ジョブは直観通り実行されます。 すなわち、 無くなる期間 (例えば標準時から夏時間への移行) か 繰り返される期間 (例えばその逆の移行) にジョブが該当する場合、 次の 2 つの方法のいずれかで扱われます:

    第 1 の場合は、 無くなるまたは繰り返される期間と重なる期間内にある、毎時実行の ジョブについてのものです。 言い換えれば、GMT との差の変更直前の 1 時間以内 にそのジョブが実行されていた場合 (かつ cron が再起動されず、 crontab(5) がその後変更されない場合) か、 変更後の 1 時間に実行されていたであろう場合です。 これらは、いつも通りに動作します。 すなわち、無くなる時間を飛ばしますし、増えた時間にも実行されます。

    第 2 の場合は、より低い頻度で実行されるジョブについてのものです。 それらは、正確に 1 度だけ実行されます。 飛ばされたり 2 度実行されたりしません (ただし、cron が再起動されたり、ユーザの crontab(5) が期間中に変更される場合は例外です)。 GMT との差の変更のため、ある期間が無くなってしまう場合、 古いタイムゾーンにおいて実行されたであろう時刻と絶対的に同じ時刻において、 そのようなジョブは実行されます。 例えば、ちょうど 1 時間が無くなる場合、 ジョブが実行される時点は、 次の 1 時間の中で、 crontab(5) で指定される最初の分になります。

-o  ローカルタイムゾーンの GMT との差が変わる場合を、特別に扱いません。 古い (デフォルトの) 動作と互換です。 -o と -s の両方のオプションが指定された場合、最後に指定されたオプションが有効です。

-x debugflag[,...]
    標準出力へのデバッグ情報の書き込みを有効にします。 次に示す 1 個以上の debugflag を、コンマで区切って、指定することが必要です:

    bit 現在使用されていません。
    ext 他のデバッグフラグをより冗長にします。
    load
        crontab ファイルを読み取る時に冗長になります。
    misc
        様々な 1 回限りのイベントに関して冗長になります。
    pars
        個々の crontab 行の構文解析に関して冗長になります。
    proc
        プロセスの状態に関して、そのすべての子孫の状態も含めて、冗長になります。
    sch スケジュールアルゴリズムを繰り返す時に冗長になります。
    test
        実行を通じてトレースしますが、実際の動作は何も行いません。

関連項目
crontab(1), crontab(5)

作者
Paul Vixie <paul@vix.com>