|
|
|
crontab(1)
名前
crontab - コマンド・スケジュールの cron への登録形式
crontab [file] crontab -l | -v | -r | -e [username]標準
このリファレンス・ページに記述されているインタフェースは,次の業界標準に準 拠しています。 crontab: XCU5.0 業界標準とその名前の詳細については,standards(5) のリファレンス・ページを参 照してください。オプション
-e [username] crontab エントリのコピーを編集する場合に指定します。 crontab エントリが 存在しない場合は,なにも入っていないエントリが作成されます。編集はこの エントリに対して行います -e オプションを指定した場合,EDITOR 環境変数に エディタが指定されていれば,そのエディタが呼び出されます。エディタの指 定が無いと,/usr/bin/vi が呼び出されます。編集を完了すると,crontab コ マンドは新しいエントリを登録します。 [Tru64 UNIX] username を指定すると,そのユーザのファイルが編集対象にな ります。このオプションを使用する場合は,適切な特権が必要です。 -l このコマンドを呼び出したユーザの crontab ファイルの内容を表示させる場合 に指定します。 -r crontab ディレクトリから crontab ファイルを削除する場合に指定します。 -v [Tru64 UNIX] crontab ファイルの名前を,crontab を使ってキューに登録し た日時とともに表示させる場合に指定します。オペランド
file ジョブの実行スケジュールを crontab 形式で記述したファイルのパス名を指定 します。機能説明
crontab コマンドは,指定したファイルを全ユーザの crontab ファイルが置かれて いる /var/spool/cron/crontabs ディレクトリにコピーします。ファイルを指定し ないと標準入力をコピーします。 cron コマンドは,crontab ファイルにある指示に従ってコマンドを実行します。 crontab ファイルにはユーザの名前が付けられます。 crontab ファイルに登録され ているコマンドはそのユーザの権限で実行されます。たとえば, /var/spool/cron/crontabs/root ファイルにコマンドが登録されていれば,このコ マンドは root の権限で実行されます。 crontab コマンドでは,コマンドを呼び出 したユーザに操作の権限が与えられているファイルが対象となります。たとえば, adm が crontab -l コマンドを実行すると,/var/spool/cron/crontabs/adm ファイ ルが表示されます。 username 引数を指定すると,現在のユーザの crontab ファイ ルではなく,指定したユーザの crontab ファイルが編集の対象となって表示されま す。 username 引数を指定できるのは,ルート・ユーザの特権を持つユーザだけで す。エディタが指定されていないと,vi エディタが使用されます。 /var/spool/cron/crontabs/root ファイルには,実行するエントリが最初から入っ ています。たとえば,次のエントリです。このエントリにあるコマンドは, /var/adm/wtmp ログ・ファイルをバックアップしてクリアします。 0 2 * * 0 /usr/bin/logclean /var/adm/wtmp > dev/null こうした省略時のコマンドは,システムの要件に合わせて構成することができま す。 標準出力と標準エラーをリダイレクトしておかないと,cron は,crontab ファイル の内容に従ってコマンドを実行した後,そのコマンドの標準出力と標準エラー出力 をメールで送信します。 注意 crontab コマンドを使って crontab ファイルにエントリを作成すると,その ファイルに今まであったエントリはすべて削除されます。 ユーザ名が /usr/lib/cron/cron.allow ファイルに登録されていれば,そのユーザ は crontab コマンドを使用することができます。このファイルが存在しない場合, crontab コマンドは /usr/lib/cron/cron.deny ファイルをチェックして,そのユー ザがcrontab を使用できるかどうかを判断します。 allow/deny ファイルには,1 行につき 1 つのユーザ名が登録されています。どちらのファイルも存在しない場合 は,スーパユーザ権限で操作している場合に限り,ジョブをキューに登録すること ができます。 crontab ファイルに置くエントリは,6 つのフィールドをスペースとタブで区切っ て構成します。実行するコマンドの名前と実行時間の情報は,これらのフィールド で指定します。それぞれのフィールドで次の情報を指定します。 · 最初のフィールドには分を指定します (0 〜 59)。 · 2 番目のフィールドには時間を指定します (0 〜 23)。 · 3 番目のフィールドには日を指定します (1 〜 31)。 · 4 番目のフィールドには月を指定します (1 〜 12)。 · 5 番目のフィールドには曜日を指定します (0 〜 6 が日曜〜土曜に対応)。 · 6 番目のフィールドには実行するシェル・コマンドを指定します。 時間を示すフィールドには,次の値を指定できます。 · 1 つの整数 (時間として有効な値を指定) · ダッシュ記号で区切った 2 つの整数。範囲を表します (2 つの整数も範囲に 含む)。 · コンマで区切った複数の整数 · アスタリスク (*)。可能な値すべてを表します。 コマンドを実行する日付は,2 つのフィールド (日付と曜日) で指定できます。両 方のフィールドを指定することも,どちらか一方のフィールドだけを指定すること もできます。一方のフィールドだけで日付を指定する場合は,もう一方のフィール ドにアスタリスク (*) を使用する必要があります。両方を使用した場合は,どちら の指定が一致しても,その時点でコマンドが実行されます。 [Tru64 UNIX] たとえば,次のエントリがあれば,毎月 1 日と 15 日の午前 0 時,および毎週月曜日の午前 0 時に command が実行されます。 0 0 1,15 * 1 command cron プログラムは,6 番目のフィールドで指定されているコマンドを,同じエント リで指定されている日時に実行します。 6 番目のフィールドにパーセント記号 (%) が含まれていると,そのパーセント記号がエスケープされている (\%) か二重引用 符で囲われて ("%") いない限り,cron は,その記号の前にあるすべての文字をコ マンド呼び出しとして扱い,その後にある文字を,標準入力を通してコマンドに渡 します。 6 番目のフィールドに感嘆符 (!) を使用すると,その感嘆符は改行文字 として扱われます。 シェルは,コマンド・フィールドの最初の行 (パーセント記号またはファイル終端 (EOF) まで) だけ実行しますその他のすべての行は,標準入力を通してコマンドへ 渡します。 cron プログラムは,$HOME ディレクトリからサブシェルを呼び出します。したがっ て,そのエントリを登録したユーザの .profile ファイルは実行されません。自分 がログインしていない時にコマンドを実行するようにスケジュールして,しかも, 自分の .profile に記述してあるコマンドを実行させたいには,crontab ファイル にその旨を明確に記述する必要があります。 (sh の起動方法の詳細については,sh コマンドを参照してください。) cron プログラムは,どのシェルについても,環境変数に省略時の値を設定して呼び 出します。設定する環境変数は HOME,LOGNAME,SHELL (=/usr/bin/sh),および PATH (=:/usr/bin) です。 [Tru64 UNIX] cron デーモンにコマンドを登録する場合は,-e オプションを使っ て crontab コマンドを起動するか,または次のようにします。 1. [Tru64 UNIX] /usr/spool/cron/crontabs ディレクトリの該当ファイルに対 応したユーザになります。たとえば,adm の権限で実行するコマンドを登録す る場合は,ユーザ adm になります。 2. [Tru64 UNIX] -l オプションを指定して crontab コマンドを実行し, /usr/spool/cron/crontabs ディレクトリにある該当ファイルを自分のホー ム・ディレクトリにコピーして,一時ファイルを作成します。たとえば,ユー ザ adm の場合,次のコマンドを使用します。 crontab -l > temp_adm 3. [Tru64 UNIX] 一時ファイルを編集し,指定時間に実行するコマンドを追加し ます。 4. [Tru64 UNIX] 一時ファイルを指定してcrontab コマンドを実行し,cron デーモンにコマンドを登録します。注意
1. crontab ファイルにエントリを作成すると,今までのエントリはすべて削除さ れます。 2. 1 つのユーザ ID が複数のユーザ名に関連付けられている場合,crontab は, 現在どのユーザ名が使われているかに関係なく,それらユーザ名のなかで /etc/passwd ファイルの先頭に登録されているユーザ名を使用します。 3. [Tru64 UNIX] /usr/lib/cron ファイルは /var/adm/cron へシンボリック・ リンクで接続されています。 4. [Tru64 UNIX] cron.allow が存在する場合は,スーパユーザがコマンドを使 用できるように,cron.allow にスーパユーザのユーザ名を登録しておく必要 があります。終了状態
次の終了値が返されます。 0 正常に終了しました。 >0 エラーが発生しました。使用例
1. 次のエントリは,毎時 0 分に,コンソールに時間を表示する例です。 0 * * * * echo The hour is `date`. >/dev/console 2. 次のエントリは,毎週月,水,金の各曜日の午前 6 時 30 分に calendar を 実行する例です。 30 6 * * 1,3,5 /usr/bin/calendar - 3. 次のエントリは,12 月の毎週金曜日午後 4 時と 12 月 10 日から 12 月 31 日までの毎日午後 4 時にログインしている全ユーザに happyholidays.txt の 内容を知らせる例です。 0 16 10-31 12 5 /usr/sbin/wall /var/tmp/happyholidays.txt環境変数
crontab の実行に影響する環境変数は,次のとおりです。 EDITOR -e オプションで使用するエディタを示しします。 LANG 国際化変数に値が設定されていないかヌルである場合に使う値,つまり,省略 時の値を示す変数です。 LANG に値が設定されていないかヌルであると,省略 時のロケールの対応する値が使用されます。国際化変数のなかに設定値の無効 な変数が 1 つでもあると,そのユーティリティはどの変数も定義されていない かのように動作します。 LC_ALL 1 つ以上の文字からなる文字列を値として設定すると,その文字列が他のすべ ての国際化変数の値より優先して使用されます。 LC_CTYPE テキスト・データのバイト列を文字として解釈する際のロケールを示す変数で す (たとえば,引数の中で使用されている文字をシングルバイトとして扱う か,マルチバイトとして扱うか,などを決定します)。 LC_MESSAGES 診断メッセージを標準エラーに出力する際の書式と内容のロケールを示す変数 です。 NLSPATH LC_MESSAGES の処理に使用するメッセージ・カタログの位置を示す変数です。ファイル
/var/adm/cron cron のメイン・ディレクトリ /var/spool/cron/crontabs crontab ファイル adm,cronuucp,root,sys および uucp が置かれている ディレクトリ /var/adm/cron/cron.allow 実行を許可するユーザのリスト /var/adm/cron/cron.deny 実行を拒否するユーザのリスト /var/adm/cron/log cron の動作ログ /var/adm/cron/queuedefs at,batch および cron のキュー記述子ファイル /etc/passwd ユーザ情報 $HOME/.profile ユーザ・プロファイル関連項目
コマンド: at(1) ,cron(8) ,mail(1) ,mailx(1),Bourne シェル sh(1b), POSIX シェル sh(1p) ファイル: queuedefs(4) 標準: standards(5)
|
|
|