39.2. at および Batch
cron は繰り返しジョブのスケジュールに使用されますが、at コマンドは、特定の時間に 1 回限りのジョブをスケジュールするために使用されます。batch コマンドは、システムの平均負荷が 0.8 未満の場合に実行される 1 回限りのジョブをスケジュールするために使用されます。
at または batch を使用するには、
at
RPM パッケージがインストールされ、atd サービスが実行されている必要があります。パッケージがインストールされているかを確認するには、rpm -q at コマンドを使用します。サービスが実行されているかどうかを確認するには、コマンド /sbin/service atd status を使用します。
39.2.1. at ジョブの設定
特定の時間に 1 回限りのジョブをスケジュールするには、コマンドを 一 度 に入力します。time は、コマンドを実行する時刻になります。
引数の time は、以下のいずれかになります。
- hh:MM 形式:たとえば、04:00 は 4:00 a.m を指定します。時間がすでに経過している場合は、指定した日に実行されます。
- midnight - 12:00 a.m を指定します。
- noon - 12:00 p.m を指定します。
- teatime - 4:00 p.m を指定します。
- 月名日の形式:たとえば、2002 年 1 月 15 日は 2002 年 1 月 15 日を指定します。年は任意です。
- MMDDYY、MM/DD/YY、または MM.DD.YY 形式:たとえば、2002 年 1 月 15 日の場合は 011502 になります。
- now + time: 時間は分単位、時間、日、または週単位です。たとえば、now + 5 days では、コマンド を 5 日間同時に実行するように指定します。
時間は最初に指定し、その後にオプションの日付を指定する必要があります。時間形式の詳細は、
/usr/share/doc/at- <version> /timespec
テキストファイルを参照してください。
time 引数を指定して at コマンドを入力すると、
at>
プロンプトが表示されます。実行するコマンドを入力し、Enter を押して Ctrl+D を入力します。複数のコマンドを指定するには、各コマンドの後に Enter キーを押します。すべてのコマンドを入力したら、Enter を押して空の行に移動し、Ctrl+D と入力します。または、プロンプトでシェルスクリプトを入力し、スクリプトの各行の後に Enter を押してから、空白行で Ctrl+D を入力して終了します。スクリプトを入力すると、使用されるシェルはユーザーの SHELL
環境、ユーザーのログインシェル、または /bin/sh (いずれか最初に見つかった方)で設定されたシェルです。
コマンドまたはスクリプトのセットが標準出力に情報を表示しようとすると、その出力はユーザーに電子メールで送信されます。
コマンド atq を使用して、保留中のジョブを表示します。詳細は、「保留中のジョブの表示」 を参照してください。
at コマンドの使用を制限することができます。詳細は、「at と batch へのアクセスの制御」 を参照してください。