本文へスキップ
cron.surf

crontab の cron スケジュール

crontab は昔ながらの Unix スケジューラです。5 つの時刻フィールドとコマンドを書き、サーバーのタイムゾーンで動きます。 スケジュールを選ぶと、正確な式、そのまま使える設定、次回の実行時刻がわかります。

スケジュール

crontab の注意点

% は改行になるcrontab の行でエスケープしていない % はコマンドの終わりになり、残りは標準入力に渡されます。日付書式では \% と書きます。
日と曜日は OR両方の日付フィールドに値があると、どちらかが一致すれば実行されます(どちらかが * で始まる場合を除く)。0 0 1 * 1 は毎月 1 日と毎週月曜日に実行されます。
環境変数が少ないジョブは短い PATH とログインしないシェルで動きます。絶対パスを使い、crontab の先頭で変数を設定してください。
取りこぼしは実行されない予定時刻にマシンが止まっていると、その回はスキップされます。追いつく必要があれば anacron か Persistent=true の systemd タイマーを使います。

crontab との相互変換

よくある質問

crontab のスケジュールはどのタイムゾーンで動きますか?

サーバーのローカルタイムゾーンです。cronie は CRON_TZ= 行をそれ以降のエントリに適用します。頼る前に、使っている cron の種類を確認してください。

crontab はどう編集しますか?

crontab -e で編集、crontab -l で一覧表示します。各行は 5 つの時刻フィールドとコマンドです。

crontab の日曜日は 0 と 7 のどちらですか?

どちらも日曜日です。SUN のような名前も使えます。