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