29.2. crontab コマンドによる編集

スーパーユーザーである root がシステムに関わるタスクを自動化するのであれば、/etc/crontab に設定を記述するか、その中で定義されている /etc/cron.*/ ディレクトリに作成したスクリプトを置くのが一般的です。しかし、一般ユーザーが cron の設定を行う場合は、crontab コマンドを使用します。以下に crontab コマンドの書式を示します。

crontab [ -u user ] { -l | -r | -e }
crontab [ -u user ] file

オプションの意味を以下に示します。あらかじめ設定内容をファイルに記述しておけば、それを読み込ませることも可能です。

表 29-3.

オプション意味
-u userユーザーを指定します。省略時はカレントユーザーとなります。
-l 現在の cron 設定を表示します。
-r 現在の cron 設定を削除します。
-ecrontab を編集します。設定が存在しない場合は新規作成されます。

crontab -e コマンドを実行すると、エディタが起動します。エディタの使用方法は vi と同じですが、crontab コマンドで編集すると整合性やパーミッションのチェックなどが行われます。エディタの起動後、実行したいジョブを以下の書式で記述します。

minute hour day_of_month month day_of_week command

各フィールドは次の通りです。

表 29-4.

フィードフィールドの意味指定方法
minute0 から 59(例: */15)
hour0 から 23(例: 0-23)
day_of_month0 から 31(例: 1-20)
month1 から 12 または jan から dec(例: 1,6,12)
day_of_week曜日0 から 6 または sun から sat(例: 0-6)
commandコマンド行 

実行時間の記述形式は、/etc/crontab と同じですが、実行ユーザーの指定が存在しないことに注意してください。一般ユーザーは自分の権限でのみジョブを実行することができます。ファイルを保存すると、各ユーザーの設定は /var/spool/cron/user のファイルに保存され、指定した日時にそのユーザーの権限で実行されます。