スーパーユーザーである root がシステムに関わるタスクを自動化するのであれば、/etc/crontab に設定を記述するか、その中で定義されている /etc/cron.*/ ディレクトリに作成したスクリプトを置くのが一般的です。しかし、一般ユーザーが cron の設定を行う場合は、crontab コマンドを使用します。以下に crontab コマンドの書式を示します。
crontab [ -u user ] { -l | -r | -e }
crontab [ -u user ] file |
オプションの意味を以下に示します。あらかじめ設定内容をファイルに記述しておけば、それを読み込ませることも可能です。
表 27-3.
| オプション | 意味 |
|---|---|
| -u user | ユーザーを指定します。省略時はカレントユーザーとなります。 |
| -l | 現在の cron 設定を表示します。 |
| -r | 現在の cron 設定を削除します。 |
| -e | crontab を編集します。設定が存在しない場合は新規作成されます。 |
crontab -e コマンドを実行すると、エディタが起動します。エディタの使用方法は vi と同じですが、crontab コマンドで編集すると整合性やパーミッションのチェックなどが行われます。エディタの起動後、実行したいジョブを以下の書式で記述します。
minute hour day_of_month month day_of_week command |
各フィールドは次の通りです。
表 27-4.
| フィード | フィールドの意味 | 指定方法 |
|---|---|---|
| minute | 分 | 0 から 59(例: */15) |
| hour | 時 | 0 から 23(例: 0-23) |
| day_of_month | 日 | 0 から 31(例: 1-20) |
| month | 月 | 1 から 12 または jan から dec(例: 1,6,12) |
| day_of_week | 曜日 | 0 から 6 または sun から sat(例: 0-6) |
| command | コマンド行 |
実行時間の記述形式は、/etc/crontab と同じですが、実行ユーザーの指定が存在しないことに注意してください。一般ユーザーは自分の権限でのみジョブを実行することができます。ファイルを保存すると、各ユーザーの設定は /var/spool/cron/user のファイルに保存され、指定した日時にそのユーザーの権限で実行されます。