cronの設定ファイル

Linuxサーバ管理で、シェルやコマンドの自動実行や、スケジュール実行に欠かせないcornですが、前回の設定ファイルの書き方とユーザ単位のでの登録に続き、今回は、cronの設定ファイルの場所についてまとめてみます。

cronの実行登録は、基本的にユーザごとに行うのですが、Debianのようなパッケージ管理を採用しているディストリビューションの場合、パッケージが自動でcornに登録するしくみが必要です。大きく分けて以下のような、2つの方法が存在します。

実行ファイルを所定のディレクトリに置く方法

所定のディレクトリとは、次の場所です。

  • 「/etc/cron.hourly/」
  • 「/etc/cron.daily/」
  • 「/etc/cron.weekly/」
  • 「/etc/cron.monthly/」

保存場所の名称どおりなのですが、1時間ごとに実行、1日ごとに実行、1週間ごとに実行、1月ごとに実行と、実行したいタイミングのディレクトリに実行ファイルを置く方法です。実際にいつ実行されるかは、「/etc/crontab」で設定されています。

16 * * * * root  cd / && run-parts --report /etc/cron.hourly.
26 6 * * * root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ).
36 6 * * 7 root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ).
46 6 1 * * root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ).

この例では、毎時実行の場合、毎時16分に、毎日実行の場合、毎日6:26に、毎週実行の場合、毎週日曜日6:36に、毎月実行の場合、毎月1日6:46に実行されます。1つ注意点があります。このディレクトリに置くファイル名には、命名規則があります。(上記設定ファイルにあるコマンド「run-parts」に関係あります。)アルファベットか数字で始まり、そのあとにはアルファベットか数字かハイフンだけが続くファイル名にする必要があります。(詳しくは、run-partsのマニュアル参照)また、同一ディレクトリ内のファイル実行順序は、ファイル名の昇順で実行されます。

設定ファイルを所定のディレクトリに置く方法

前述のディレクトリの実行タイミングでは、時間やタイミングがあわない場合に、「/etc/cron.d/」にcronの設定ファイル(crontabを設定する時の書式で書かれたファイル)を置きます。この設定ファイルには、実行タイミングの指定もできるので時間やタイミングを指定する場合には、この方法を使います。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする