カテゴリー
サーバー

サーバー Cron 時間指定の基本と具体例

Cron(クロン)はサーバー上で定期的にコマンドやスクリプトを自動実行させるための仕組みです。 たとえば「毎日◯時に実行したい」「◯分ごとに処理したい」といったニーズに応えるための具体例を紹介します。

サーバーの定期処理や自動スクリプトの実行などで使われる Cron の基本構文から具体的な使用例、よくある誤解までを丁寧に解説します。日常的な運用で役立つ実用例も併せて紹介していますので、ぜひ参考にしてください。

基本構文

Cron は以下のように 5 つのフィールドで構成されます。それぞれの位置には「いつ・何を実行するか」を表す情報を記述します。未指定の不要項目は*アスタリスクで埋めます。

曜日 コマンド

たとえば、次のように書くと毎日 2 時 5 分に script.sh 実行されます。

5 2 * * * /script.sh

フィールドの意味と使用例

毎時〇分に実行

5 * * * *

設定例:毎時 5 分
指定値:0 〜 59 分

毎日〇時に実行

0 14 * * *

設定例:毎日 14 時
指定値:0 〜 23 時

毎月〇日〇時に実行

0 0 1 * *

設定例:毎月 1 日 0 時
指定値:0 〜 23 時

毎年〇月に実行

0 0 * 5 *

設定例:毎年 5 月
指定値:1 〜 12 月

毎週〇曜日に実行

0 0 * * 1

設定例:毎週月曜(0 と 7 は日曜)
指定値:0 〜 7(0 または 7=日曜)

特殊な書き方と意味

毎分実行

* * * * *

記号:*(すべての値を意味する)
例:毎分実行

〇分おきに実行

*/15 * * * *

記号:*/N(N 単位で実行)
例:15 分ごとに実行

複数の時間に実行

0 9,12,15 * * *

記号:A,B,C(複数値の指定)
例:9 時・ 12 時・ 15 時に実行

時間の範囲指定で実行

0 9-17 * * *

記号:A-B(範囲指定)
例:9 時〜 17 時まで毎時実行

範囲内で N 間隔に実行

0 0-23/2 * * *

記号:A-B/N(範囲内で N 間隔)
例:2 時間ごとに実行

*/12 の誤解に注意

0 */12 * * *

これは「 12 時間ごと」ではなく、「 0 時と 12 時」の 2 回だけ実行されます。

実際に 12 時間ごとに実行

0 6,18 * * * /script.sh

Cron には「前回実行から〇時間後」という概念はありません。たとえば 6 時と 18 時に明示的に指定する必要があります。

実例集

毎日 0 時に実行

0 0 * * *

設定例:毎日 0 時に実行

毎日 2 時 5 分に実行

5 2 * * *

設定例:毎日 2 時 5 分に実行

1 時間おきに実行

0 */1 * * *

設定例:1 時間おきに実行

2 時間おきに実行

0 */2 * * *

設定例:2 時間おきに実行

0 時と 12 時に実行(12 時間おきではない)

0 */12 * * *

設定例:0 時と 12 時の 2 回のみ実行

毎日 6 時と 18 時に実行(明示的に 12 時間間隔)

0 6,18 * * *

設定例:毎日 6 時と 18 時に実行

平日(月〜金)9 時に実行

0 9 * * 1-5

設定例:月〜金の平日 9 時に実行

Cron の設定方法

Cron の実行タイミングはcrontabという設定ファイルに記述します。設定を編集するには以下のコマンドを使用します:

crontab -e

このコマンドで権限ユーザーごとの crontab ファイルが開きます。 root で実行すれば root の設定になります。
そこにスケジュールとコマンドを記述することで、自動実行が設定されます。設定後は自動的に反映され、特別な保存操作や再起動は不要です。
現在の設定を確認したい場合は次のコマンドを使用します。

crontab -l

Cron は正しく使えば非常に強力な自動化ツールです。専用サーバーはもちろん、 Xserver のような共有ホスティングでも、ここで紹介した実用例の多くが実行可能です。自身の用途に応じたスケジュールを設定し、効率的な運用にぜひ役立ててください。

WordPress における Cron の理解にはこちらの記事をおすすめします。

WP-Cron の仕組みと問題、理解してる?

この記事が役に立ったら「いいね」!

profile image

執筆:R3098

WEB サービス構築・監修が生業です。 WordPress 関連では Aurora Heatmap などプラグイン開発も行っています。悩めるサイト運営者の無料相談受付けます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトは reCAPTCHA によって保護されており、Google のプライバシーポリシー および 利用規約 に適用されます。

reCaptcha の認証期間が終了しました。ページを再読み込みしてください。