名前 | 形式 | 機能説明 | オプション | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
crontab ユーティリティは、 crontab ファイルをコピー、作成、表示、削除することにより cron を使ってユーザーのアクセスを管理します。 オプションなしで実行した場合、 crontab は、 指定したファイル、 または ファイルを指定しない場合には標準入力を、 全ユーザーの crontab が登録されているディレクトリにコピーします。
ユーザーは、次の場合に crontab をアクセスできます。
/etc/cron.d/cron.allow に自分の名前が登録されている場合
/etc/cron.d/cron.allow が存在せず、 /etc/cron.d/cron.deny に自分の名前が登録されていない場合
ユーザーは、次の場合に crontab をアクセスできません。
/etc/cron.d/cron.allow が存在し、ファイル内に自分の名前が登録されていない場合
/etc/cron.d/cron.allow が存在せず、 /etc/cron.d/cron.deny に自分の名前が登録されている場合
なお allow または deny の規則が root に適用されるのは、 allow または deny ファイルが存在している場合だけなので注意してください。
allow と deny の両ファイルは、いずれも 1 行に 1 ユーザー名が 記述される形式になっています。
crontab ファイル内の各行は、 6 つのフィールドからなります。 それぞれのフィールドの間は、 空白文字またはタブによって区切られています。 最初の 5 つのフィールドは整数パターンであり、 次のことを指定します。
分 (0-59) 時 (0-23) 日 (1-31) 月 (1-12) 曜日 (0-6、0 は日曜日) |
これらの各パターンは、 アスタリスク (有効な値すべてが対象)、 または コンマで区切られた要素のリストにすることもできます。 各要素は、 1 つの数、 または - 記号によって区切られた 2 つの数値 (範囲を表す) です。 日付の指定は、 2 つのフィールド (日および曜日) で行うことができることに注意してください。 どちらのフィールドも、要素のリストとして指定された場合に付加されます。 詳しくは「使用例」を参照してください。
crontab ファイル内の行の 6 番目のフィールドは、 指定した時間にシェルによって実行される コマンドの文字列です。 このフィールド内の % 文字 (¥ によってエスケープされているものは除く) は、復帰改行 (NEWLINE) 文字に変換されます。
このコマンドフィールドの第 1 行 (` % ' または行の終わりまで) だけが、シェルによって実行されます。 その他の行は、 コマンドが標準入力として使用できるようになります。 ` # ' で始まる行は、コメントとして扱われ、無視されます。 ファイル中には空行があってはなりません。
シェルは、 sh の arg0 を用いて、 ユーザーの $HOME ディレクトリから呼び出されます。 自分の .profile の実行を希望するユーザーは、 crontab ファイルの中で明示的にそう指定しなければなりません。 cron は、 ホーム、 ログネーム、 シェル (= /bin/sh )、 TZ、 およびパスを定義し、 すべてのシェルに関してデフォルト時の環境を指定します。 ユーザーの cron ジョブ の デフォルト パスは /usr/bin で、 root の cron ジョブ の デフォルト パスは /usr/sbin:/usr/bin です。 デフォルトパスは /etc/default/cron 中に設定できます ( cron(1M) を参照 )。
ユーザーが自分のコマンドの標準出力および標準エラー出力の リダイレクトを行わない場合、 生成された出力またはエラーがすべて、 ユーザーにメールされてくることになります。
次のオプションを使用できます。
現ユーザーの crontab ファイルのコピーを作成し、その内容を編集します。 このファイルが存在しない場合は、空の crontab ファイルを作成して編集します。 編集が終了すると、このファイルがそのユーザーの crontab ファイルとしてインストールされます。 username が指定されている場合は、 現ユーザーの crontab ファイルではなく、指定されたユーザーの crontab ファイルを編集します。 このユーザー名指定は、スーパーユーザーだけが行うことができます。 環境変数 EDITOR によって、 -e オプション指定時に どのエディタを起動するかが決まります。 デフォルト時のエディタは、 ed(1) です。なお すべての crontab のジョブは、 crontab を使って登録してください。単に crontab ファイルを直接編集してジョブを追加しないでください。 この方法で変更しても cron はそのことに気づきません。
起動を行なったユーザーの crontab ファイルの内容を表示します。 スーパーユーザーだけが、 -r または -l の後に username を指定して、指定のユーザーの crontab ファイルの削除または表示を行うことができます。
crontab ディレクトリからユーザーの crontab を削除します。
15 3 * * 1-5 find $HOME -name core 2>/dev/null | xargs rm -f
誕生日のお祝いを送る例です。
0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.
2 種類の日を同時に指定する例を見てみましょう。
0 0 1,15 * 1
これは、コマンドを毎月 1 日と 15 日、さらに毎週月曜日といった具合に 2 種類の日に実行させる指定です。 1 種類だけの日を指定する場合には、もう一方のフィールドを * に設定しなければなりません。次の例を見てください。
0 0 * * 1
これは毎月曜日にだけコマンドを実行させる例です。
crontab の実行に影響を与える環境変数 LC_CTYPE
、LC_MESSAGES
、 NLSPATH
についての詳細は、 environ(5) を参照してください。
-e オプションが指定されたときに呼び出すエディタを指定します。 デフォルトのエディタは ed(1) です。 EDITOR と VISUAL の両方の環境変数が設定された場合、 VISUAL 変数の値がエディタとして選択されます。
主 cron ディレクトリ
使用を許されているユーザーのリスト
cron のデフォルト設定を含む
使用を許されていないユーザーのリスト
アカウンティング情報
crontab のスプール空間
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWcsu |
誤って引数なしで crontab コマンドを入力してしまった場合、 CTRL-D によって処理を中止しないようにしてください。 これを行うと、 crontab ファイルからすべてのエントリが 削除されてしまいます。 代わりに CTRL-C を使用して終了してください。
スーパーユーザーが他のユーザーの crontab ファイルを修正した場合は、 これによって発生することは予測できません。 これを防ぐために、特権ユーザーは まず、 su(1M) コマンドを実行して他のユーザーにログインしてから、 crontab ファイルを変更してください。
名前 | 形式 | 機能説明 | オプション | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項