IT pass HikiWiki - [TEBIKI]cron の設定 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

[((<計算機とネットワークの手引集>))へ戻る]

{{toc}}

cron は, 決められたコマンドを指定した日時に繰り返し実行するプログラムである.
以下にその設定方法を示す.


== 文法

1 行にひとつの命令を記述する.
左側のカラムより, 分, 時, 日, 月, 曜日, 実行ユーザ, コマンド, である.

たとえば以下の場合は, 毎日 6:25 に echo "hoge" が実行される.

  25 6    * * *    echo "hoge"

"#" で始まる行はコメントアウトと見なされるので実行されない.

詳しい設定内容は man の crontab(1) などを参考にされたい.


== 操作方法

=== 一般ユーザの場合

Debian squeeze では
/var/spool/cron/crontabs/(username) というファイルに
設定内容が記述されているが,
このファイルを直接編集することは推奨されていない.

閲覧, 編集は crontab(1) コマンドを介して行う.

==== 閲覧

以下のコマンドを実行する.

  $ crontab -l

==== 編集

環境変数 EDITOR に使用したいエディタを設定したうえで,

  $ crontab -e

を実行する.

=== root の場合

一般ユーザに対応するものの他に
/etc/crontab が存在する.
/etc/crontab はエディタで直接編集することになる.

/etc/crontab では一般ユーザの場合と記述内容が少し変わり,
以下のようになる.
具体的には実行ユーザ名を指定するカラムが増えている.

たとえば以下の場合は, 毎日 6:25 に root で echo "hoge" が実行される.

  25 6    * * *   root    echo "hoge"

以下のディレクトリに入っているプログラムは
デフォルトでは cron の実行対象になる.
実行間隔はディレクトリ名から推測される通りである.

* /etc/cron.hourly
* /etc/cron.daily
* /etc/cron.weekly
* /etc/cron.monthly

具体的な実行日時や
どのような仕組みになっているかは /etc/crontab 内を参照のこと.

== 参考資料

* man の crontab(1)
* ((<"crontabの書き方 — server-memo.net"|URL:http://www.server-memo.net/tips/crontab.html>))