ユーティリティは、 /var/cron/tabs ディレクトリの下から /etc/passwd 内のアカウント名と同じ名前の crontab ファイルを探し、見つかったファイルを メモリに読み込みます。 ユーティリティは、別のフォーマットの /etc/crontab ( crontab(5) を参照してください) も調べます。 このあと、 ユーティリティは 1 分おきに目覚めて 読み込んでいるすべての crontab ファイルを調べ、各コマンドをその時刻に 実行させるべきかどうかを調べます。 コマンドを実行する場合には、出力がメールで crontab ファイルの所有者 (もしくは crontab ファイル内の環境変数 MAILTO で指定されたユーザ) に送られます。
さらに、 は 1 分おきにスプールディレクトリの最終更新時刻 ( /etc/crontab の最終更新時刻も ) が変わっているかどうかを調べます。 もし変化があれば、 は crontab ファイルすべての最終更新時刻を調べ、 変更のあったものを読み直します。このため、 crontab ファイルを変更したときに をリスタートさせる必要はありません。 crontab(1) コマンドが crontab ファイルを変更したときにスプールディレクトリの最終更新時刻も更新されることに 注意して下さい。
使用可能なオプションは次の通りです:
このオプションは、例えば、各時間の最初の分の始めなど、 多くのジョブが一度に開始する瞬間にシステム負荷が急激に増えるのを なだらかにするのに役立つでしょう。
GMT との差が変わる期間でも、ジョブは直観通り実行されます。 すなわち、 無くなる期間 (例えば標準時から夏時間への移行) か 繰り返される期間 (例えばその逆の移行) にジョブが該当する場合、 次の 2 つの方法のいずれかで扱われます:
第 1 の場合は、 無くなるまたは繰り返される期間と重なる期間内にある、毎時実行の ジョブについてのものです。 言い換えれば、GMT との差の変更直前の 1 時間以内 にそのジョブが実行されていた場合 (かつ cron が再起動されず、 crontab(5) がその後変更されない場合) か、 変更後の 1 時間に実行されていたであろう場合です。 これらは、いつも通りに動作します。 すなわち、無くなる時間を飛ばしますし、増えた時間にも実行されます。
第 2 の場合は、より低い頻度で実行されるジョブについてのものです。 それらは、正確に 1 度だけ実行されます。 飛ばされたり 2 度実行されたりしません (ただし、cron が再起動されたり、ユーザの crontab(5) が期間中に変更される場合は例外です)。 GMT との差の変更のため、ある期間が無くなってしまう場合、 古いタイムゾーンにおいて実行されたであろう時刻と絶対的に同じ時刻において、 そのようなジョブは実行されます。 例えば、ちょうど 1 時間が無くなる場合、 ジョブが実行される時点は、 次の 1 時間の中で、 crontab(5) で指定される最初の分になります。