名前 | 形式 | 機能説明 | オプション | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | Trusted Solars での変更点 | 関連項目 | 注意事項
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 ファイルとしてインストールされます。
ユーザー名を指定した場合、現在のユーザーの crontabファイルではなく、指定したユーザーの crontab ファイルが編集されます。これは、次の 2 つのどちらかの条件が成立するときだけ行われます。
1 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイル (cron の管理ユーザーのリストが含まれる) にあるか、役割ユーザであり、さらに、ユーザーが「cron admin を変更」承認を持っているときです。
2 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイルにないか、役割ユーザーでない、ユーザーが「cron users」を変更承認を持っているときです。
TSOLdtpad
エディタが使用されます。環境変数が設定されていない場合、adminvi エディタが使用されます。なおすべての crontab のジョブは、crontab を使って登録してください。単に crontab ファイルを直接編集してジョブを追加しないでください。この方法で変更しても cron はそのことに気づきません。
呼び出し元プロセスの機密ラベルで作業する現在のユーザーの crontab ファイルをリスト表示します。ユーザーは、次の 2 つのどちらかの条件で、別のユーザーの crontab ファイルをリスト表示できます。1 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイルにあるか、役割ユーザーであり、さらに、ユーザーが cron admin を変更承認を持っているときです。2 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイルにないか、役割ユーザーでなく、さらに、ユーザーが cron admin を変更承認を持っているときです。
crontabs ディレクトリからユーザーの crontab ファイル (呼び出し元プロセスの機密ラベルを持つ) を削除します。ユーザーは、次の 2 つのどちらかの条件で、別のユーザーの crontab ファイルを削除できます。
1 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイルにあるか、役割ユーザーであり、さらに、ユーザーが cron admin を変更承認を持っているときです。
2 番目の条件は、指定したユーザー名が /etc/cron.d/cron.admin ファイルにないか、役割ユーザーでなく、さらに、ユーザーが cron admin を変更承認を持っているときです。
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. |
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 コマンドには、の強制された特権 proc_audit_tcb
、file_owner
、proc_setid
が必要です。
他のユーザーの crontab ファイルを表示、変更、または削除するには、承認が必要です。
crontab ファイルごとに補助ファイルが /var/spool/cron/crontabs ディレクトリに作成されます。このファイルには規約に従って username.ad という名前が付けられます。このファイルは clockデーモンが cron ジョブの実行を設定するために使用されます。
(passwd エントリ内の) ユーザのログインシェルまたは $SHELL がプロファイルシェルの場合、cron ジョブはプロファイルシェルで実行されます。それ以外の場合、sh が使用されます。
デフォルトの Trusted Solaris システムには、/etc/cron.d/cron.deny ファイルと /etc/cron.d/cron.admin ファイルがあります。
ed(1), sh(1), su(1M), attributes(5), environ(5)
誤って引数なしで crontab コマンドを入力してしまった場合、 CTRL-D によって処理を中止しないようにしてください。 これを行うと、 crontab ファイルからすべてのエントリが 削除されてしまいます。 代わりに CTRL-C を使用して終了してください。
承認されたユーザーが他のユーザーの crontab ファイルを修正した場合は、これによって発生することは予測できません。これを防ぐために、承認されたユーザーはまず、su(1M) コマンドを実行して他のユーザーにログインしてから、crontab ファイルを変更してください。
名前 | 形式 | 機能説明 | オプション | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | Trusted Solars での変更点 | 関連項目 | 注意事項