スポンサーリンク

CRON(8) FreeBSD システム管理者マニュアル CRON(8)

名称

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

書式

cron [−j jitter] [−J rootjitter] [−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 の最終更新時刻も ) が変わっているかどうかを調べます。もし変 化があれば、 cron は crontab ファイルすべての最終更新時刻を調べ、変更の あったものを読み直します。このため、 crontab ファイルを変更したときに cron をリスタートさせる必要はありません。 crontab(1) コマンドが crontab ファイルを変更したときにスプールディレクトリの最終更新時刻も更新されるこ とに注意して下さい。

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

       −j jitter

時間変動を有効にします。コマンドを実行する前に、 cron は 0 から jitter の範囲のランダムな秒数だけスリープします。これはスーパユー ザのジョブには影響しません (−J を参照して下さい)。 jitter の値は 0 以上、60 以下でなければなりません。デフォルトは 0 で、その場 合、実質的に時間変動は無効になります。

このオプションは、例えば、各時間の最初の分の始めなど、多くのジョ ブが一度に開始する瞬間にシステム負荷が急激に増えるのをなだらかに するのに役立つでしょう。

−J rootjitter
スーパユーザのジョブに対して時間変動を有効にします。スーパユーザ が実行するジョブにだけ影響する点を除けば、 −j と同じです。

−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⟩

FreeBSD 10.0 December 20, 1993 FreeBSD 10.0

スポンサーリンク