コマンドcronとanacronは繰り返し行われるタスクをスケジュールするために使用されますが、atコマンドは、指定した時刻に1度だけ行われるタスクをスケジュールするために使用されます。batchコマンドは、システムの平均負荷が0.8を下回ったときに実行される1度限りのタスクをスケジュールするために使用されます。
atやbatchを使用するには、at RPMパッケージをインストールし、atdサービスを実行しておく必要があります。このパッケージがインストールされていることを確認するには、rpm -q atコマンドを使用してください。このパッケージがインストールされていることを確認するには、/sbin/service atd statusコマンドを使用してください。
指定した時刻に1度だけ実行されるジョブのスケジュールを設定するには、コマンドat timeを入力します。ここで、timeにはこのコマンドを実行する時刻を指定します。
引数timeは次のいずれかを指定できます。
HH:MM 形式 —たとえば、04:00は午前4:00を表します。その時刻がすでに過ぎてしまっている場合、次の日のその時刻に実行されます。
midnight—午後12:00を表します。
noon—正午(午前12:00)を表します。
teatime—午後4:00を表します。
month-name day year形式—たとえば、「January 15 2002」は2002年1月15日を表します。年は省略できます。
MMDDYY、MM/DD/YY、またはMM.DD.YY形式—たとえば、「011502」は2002年1月15日を表します。
now + time—timeはminutes(分)、hours(時)、days(日)、weeks(週)単位で指定します。たとえば、「now + 5 days」はこのコマンドが5日後のこの時間に実行されることを表します。
最初に時刻を指定して、その次にオプションの日付を指定します。日付と時刻の書式については /usr/share/doc/at-<version>/timespec テキストファイルを参照してください。
atコマンドに引数timeを付けて実行すると、at>プロンプトが表示されます。実行するコマンドを入力し、
標準出力に情報を表示するコマンドやスクリプトを入力した場合、この出力はユーザーに電子メールで送信されます。
保留ジョブを表示するには、atqコマンドを使用します。詳細については項28.3.3を参照してください。
atコマンドの使用法を制限することができます。詳細については項28.3.5を参照してください。
平均負荷が0.8を下回ったときに、1度きりのタスクを実行するには、batchコマンドを使用します。
batchコマンドを実行すると、at>プロンプトが表示されます。実行するコマンドを入力し、
標準出力に情報を表示するコマンドやスクリプトを入力した場合、この出力はユーザーに電子メールで送信されます。
保留ジョブを表示するには、atqコマンドを使用します。詳細については項28.3.3を参照してください。
batchコマンドの使用法を制限することができます。詳細については項28.3.5を参照してください。
保留されているatジョブやbatchジョブを表示するには、atqコマンドを使用します。この結果、保留になっているジョブが1行に1つずつ表示されます。各行は、ジョブ番号、日付、時間、ジョブのクラス、ユーザー名の形式をとります。ユーザーは自分のジョブしか見ることができません。ただし、rootユーザーがatqコマンドを実行した場合は、すべてのユーザーのすべてのジョブが表示されます。
/etc/at.allowファイルや/etc/at.denyファイルは、atコマンドやbatchコマンドへのアクセスを制限するために使用されます。どちらのアクセスコントロールファイルも、1行にユーザー名を1つという形式で記述されています。また、どちらのファイルでも空白文字は使えません。これらのアクセスコントロールファイルを変更したときに、atデーモン(atd)を再起動する必要はありません。アクセスコントロールファイルはユーザーがatコマンドやbatchコマンドを実行しようとするたびに読み込まれます。
アクセスコントロールファイルにリストされているユーザー名に関係なく、rootユーザーはいつでもatコマンドやbatchコマンドを使用できます。
ファイルat.allowが存在する場合、このファイルに記載されているユーザーだけがatコマンドやbatchコマンドを使用することができます。このとき、at.denyファイルは無視されます。
at.allowが存在しない場合、at.denyに記載されているユーザーはすべて、atコマンドやbatchコマンドを使用できません。
atサービスを開始するには、/sbin/service atd startコマンドを使用します。サービスを停止するには、/sbin/service atd stopコマンドを使用します。サービスの起動はブート時に行うことをお勧めします。ブート時に自動的にcronサービスを起動する方法については、第14章を参照してください。