Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名前
at, batch, atq, atrm - 後に実行するジョブのキュー操作、確認、削除
書式
at [-V] [-q queue] [-f file] [-u username] [-mMlv] timespec ..." at [-V] [-q queue] [-f file] [-u username] [-mMkv] [-t time] at -c job [...] at [-V] -l [-o timeformat] [job ...] atq [-V] [-q queue] [-o timeformat] [job ...] at [-rd] job [...] atrm [-V] job [...] batch at -b
説明
at と batch は、 標準入力や指定されたファイルからコマンドを読み取って、 /bin/sh を使って後で実行します。 at 指定された時間にコマンドを実行します。 atq ペンディングとなっているユーザージョブの一覧を表示します。 ただしスーパーユーザーが起動した場合に は、 全ユーザーのジョブを表示します。 出力行の書式は (各ジョブを 1 行ずつに) 、ジョブ番号、日 付、時間、キュー、ユーザー名を表示します。 atrm ジョブ番号によって識別されるジョブを削除します。 batch システムの負荷レベルが許容される範囲にある場合にコマンドを実行します。 つまり負荷平均が 0.8 以 下、 または atd で指定された値以下の場合にコマンドを実行します。 at では複雑な時間指定ができます。 これは POSIX.2 標準を拡張したものです。 ジョブを実行する時刻は HH:MM と いう形式で指定できます。 (すでにその時刻が過ぎている場合は、 次の日として扱われます。) また midnight (真 夜中), noon (正午), teatime (午後 4 時のティータイム) を指定できます。 午前午後を表す AM, PM も指定可能で す。 さらにコマンドを実行する日付を指定することもできます。 日付の書式は month-name day であり、 任意とし て year を指定します。 あるいは MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY, [CC]YY-MM-DD が可能です。 日付の 指定は、 時刻の指定の後に行わなければなりません。 時間の指定において、 now + count time-units といった記 述もできます。 ここにおいて time-units とは minutes, hours, days, weeks のことです。 at に対しては、 時刻 の後ろにサフィックスとして today をつければ、 本日の実行を指示することになります。 サフィックスとして tomorrow をつければ明日の実行となります。 たとえば今から 3 日後の午後 4 時にジョブを実行する場合は、 at 4pm + 3 days と指定します。 7 月 31 日の 10:00am にジョブを実行するには、 at 10am Jul 31 と指定します。 明日の 1am であれば at 1am tomorrow としま す。 ジョブの実行に指定された時刻、日付が完全に過去であった場合、 ジョブはできる限りそのときに実行されます。 たとえば今が 8pm であって at 6pm today と実行すると、 8:05pm には実行されているはずです。 時間指定に関する定義は /usr/share/doc/at/timespec に記述されています。 at と batch はともに標準入力から読み込みを行い、 あるいは -f オプションが指定されていればファイルから読み 込みを行って、 処理が実行されます。 ワーキングディレクトリ、 環境変数 (ただし BASH_VERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM, UID, _ を除く)、 umask は、 いずれも処理実行時の値が保持されます。 現在の at は setuid プログラムとして実装されています。 したがって他の環境変数 (つまり LD_LIBRARY_PATH や LD_PRELOAD など) も、 同様にエクスポートされません。 これは将来変更されるかもしれません。 これを回避する には、 ジョブ内において明示的にそれらの変数を設定してください。 at と batch のコマンドが su(1) シェルから呼び出された場合、 現在の userid が保持されます。 このユーザー に対しては、 コマンド実行によって標準エラー出力や標準出力への書き込みが発生した際には、 その内容がメール 送信されます。 メールは /usr/sbin/sendmail コマンドを使って送信されます。 su(1) シェルから at が実行され ると、 ログインシェルの所有者がメールを受信します。 スーパーユーザーであれば、 いつでもこのコマンドを使用できます。 それ以外のユーザーが利用できるかどうか は、 /etc/at.allow ファイルまたは /etc/at.deny によって決まります。 詳しくは at.allow(5) を参照してくださ い。
オプション
-V 標準エラー出力にバージョン番号を表示して、 正常終了します。 -q queue 指定されたキューを使用します。 キューの指定には英字 1 文字を使います。 有効な文字は a から z と A から Z です。 キュー a は at に対するデフォルトであり、 キュー b は batch に対するデフォルトで す。 これ以降の文字を使ったキューは、 それだけ nice 値が大きいものとして実行されます。 特別な キューとして "=" があり、 現在実行中のキューを示すものとして、 この文字が予約されています。 英大文字を指定してジョブが登録された場合、 そのジョブは指定時刻に batch を使って実行されるものとして扱わ れます。 指定時刻になると、 負荷平均に関するバッチ処理ルールが適用されます。 atq に対して特定のキューが指 定されると、 そのキュー内にある未実行ジョブを表示するだけです。 -m ジョブが終了する際に、 出力が何もなくても、 ユーザーに対してメールを送信します。 -M ユーザーにメールを送信しません。 -u username 現在ユーザーではなく username にメールを送信します。 -f file ジョブを標準入力からではなく file から読み込みます。 -t time 時刻 time にジョブを実行します。 書式は [[CC]YY]MMDDhhmm[.ss] とします。 -l atq のエイリアスです。 -r atrm のエイリアスです。 -d atrm のエイリアスです。 -b batch のエイリアスです。 -v ジョブを読み込む前に、 ジョブが実行される時間を表示します。 表示される時間は "Thu Feb 20 14:50:00 1997" といった書式です。 -c コマンドラインから指定されたジョブの内容を標準出力に表示します。 -o fmt ジョブ一覧に対して strftime のような時間書式を用います。
ファイル
/var/spool/atjobs /var/spool/atspool /proc/loadavg /var/run/utmp /etc/at.allow /etc/at.deny
関連項目
at.allow(5), at.deny(5), atd(8), cron(1), nice(1), sh(1), umask(2).
バグ
Linux において batch が正しく処理されるためには、 /proc にマウントされた proc タイプのディレクトリが存在 している必要があります。 ファイル /var/run/utmp が利用できないか壊れている場合、 あるいは at の実行時にユーザーがログインしていな い場合は、 環境変数 LOGNAME に示される userid のユーザーにメールが送信されます。 これが未定義かあるいは空 の場合は、 現在の userid に対して処理が行われます。 現在実装されている At や batch では、 ユーザー間でのリソース競合時には適していません。 利用環境においてこ れが発生する場合は、nqs のような別のバッチシステムの利用が必要かもしれません。
著者
Thomas Koenig がほとんどを作りました。 2009-11-14 AT(1)