Provided by: manpages-ja_0.5.0.0.20180315+dfsg-1_all bug

名前

       at, batch, atq, atrm - 後で実行するコマンドジョブをキューに入れたり、そのようなジョブの閲覧・削除を行なう

書式

       at [-V] [-q queue] [-f file] [-mMlv] timespec...
       at [-V] [-q queue] [-f file] [-mMkv] [-t time]
       at -c job [job...]
       atq [-V] [-q queue]
       at [-rd] job [job...]
       atrm [-V] job [job...]
       batch
       at -b

説明

       atbatch は、標準入力や指定されたファイルからコマンドを読み取り、後で /bin/sh を使って実行する。

       at      指定された時刻にコマンドを実行する。

       atq     このコマンドを起動したユーザーの、実行されていないジョブを表   示する。スーパーユーザーで起動する
               と、全てのユーザー のジョブを表示する。 (各ジョブごとに一行ずつ) 出力される行の形式は、  ジョブ番
               号・日付・時間・キュー・ユーザー名 となる。

       atrm    ジョブ番号で識別されるジョブを削除する。

       batch   システムの負荷レベルが許可したときコマンドを実行する。 すなわち、負荷平均が 0.8 か、または atd で
               指定された値を下回るとコマンドを実行する。

       at ではある程度複雑な TIME 指定ができる。これは POSIX.2 標準を拡張したものである。 ジョブを実行する時刻は
       HH:MM  という形式で指定できる。  (すでにその時刻を過ぎているときは次の日に実行する。) また midnight (真夜
       中), noon (正午), teatime (午後4時のお茶の時間) とか、 AM , PM も指定できる。 さらに、コマンドの実行日を
       指定することもできる。 日付の指定は month-name day ( year も追加できる) のようにする。または MMDD[CC]YYMM/DD/[CC]YYDD.MM.[CC]YY、 [CC]YY-MM-DD なども可能である。  日付の指定は、その日の時刻の後に指定しなけ
       ればならない。  また  now  + count time-units, と指定することでコマンドをどのくらい後に実行するか指定でき
       る。 時間の単位には minutes,  hours,  days,  weeks  が使える。  さらにジョブを今日実行したい場合は  today
       を、明日実行したい場合は tomorrow を、それぞれ時刻の後に付ければ良い。

       例えば、今日から 3 日後の午後 4 時にジョブを実行する場合 at 4pm + 3 days, とし、 7 月 31 日の午前 10 時に
       ジョブを実行するときは at 10am Jul 31 とし、明日の午前 1 時に実行するときは at 1am tomorrow とする。

       時間指定方法の定義は /usr/share/doc/at/timespec に書いてある。

       atbatch  はいずれも、コマンドを標準入力から、あるいは  -f  オプションで指定されたファイルから読み込ん
       で、実行する。  作業ディレクトリ、環境  (環境変数  BASH_VERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM,
       UID, _ を除く)、 umask には、 atbatch が起動されたときのものが保存される。

       at は現在では setuid  プログラムとして実装されているので、上記以外の環境変数、例えば  LD_LIBRARY_PATHLD_PRELOAD  のようなものもエクスポートされない。これは将来変更されるかもしれない。回避策として、 これらの
       変数はジョブ内で明示的にセットする必要がある。

       su(1) したあとのシェルから起動された at (または batch )  コマンドでは、カレントのユーザー  ID  が用いられ
       る。 コマンドを実行した結果、標準エラー出力や標準出力が出ると、ユーザー はメールを受け取る。 メールの配送
       には /usr/sbin/sendmail が用いられる。 atsu(1) したあとのシェルから起動されたときは、ログインシェルの
       オーナーがメール を受け取る。

       スーパーユーザーは、どんな場合でもこのコマンドを使うことができる。  他のユーザについて、at を使用できるか
       どうかを決めているのは、 /etc/at.allow/etc/at.deny の二つのファイルである。 詳細は  at.allow(5)  を参
       照。

オプション

       -V      バージョン情報を標準エラー出力に表示し、正常終了する。

       -q queue
               キュー指定をする。指定は英字1文字で行う。  有効な文字は a から zA から Z である。 a キューが
               at のデフォルトキューで、 b キューが  batch  のデフォルトキューである。  後のほうの文字のキューほ
               ど、より  nice レベルが大きくなる (実行の優先度が下がる)。特殊キュー "=" は現在実行されているジョ
               ブのため に予約されている。

       大文字のキューに登録したジョブは、そのジョブの実行時に、 batch に対して登録されたものであるかのように処理
       される。  すなわち、実行時刻になると、負荷平均に関するバッチ処理のルールが適用されることになる。  atq  で
       キューを指定すると、そのキューにたまっている 未実行ジョブだけを表示する。

       -m      ジョブが完了したとき、そのジョブがなにも出力しなくても、 ユーザーに完了通知をメールする。

       -M      ユーザーにメールしない。

       -f file 標準入力でなく、 file からジョブを読み取る。

       -t time ジョブを [[CC]YY]MMDDhhmm[.ss] の形式で指定した日時 (time) に実行する。

       -l      atq と同じ働きをする。

       -r      atrm と同じ働きをする。

       -d      atrm と同じ働きをする。

       -b      batch と同じ働きをする。

       -v      ジョブの読み込み前に、ジョブが実行される日時を表示する。

       時刻は "Thu Feb 20 14:50:00 1997" の形式で表示される。

       -c     コマンドラインで指定したジョブを標準出力に表示する。

ファイル

       /var/spool/cron/atjobs
       /var/spool/cron/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 形式のディレクトリが必要である。

       もし /etc/utmp が壊れて使えなかったり、  at  がジョブを実行するときにユーザーがログインしてなかったりする
       と、  環境変数  LOGNAME で指定されたユーザー ID にメールを送る。もしこの変数が定義されて いなかったり、空
       だったりした場合、カレントのユーザー ID に送られる。

       atbatch の現在の実装は、ユーザーが資源を取り合っているような状況下では 適当なものではない。このような
       場合は他の batch システム、たとえば nqs などを考えるべきだろう。

作者

       at のほとんどの部分を書いたのは Thomas Koenig, ig25@rz.uni-karlsruhe.de である。

                                                   2009-11-14                                              AT(1)