Provided by: manpages-ja_0.5.0.0.20140515+dfsg-2_all bug

名前

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

書式

       at [-V] [-q queue] [-f file] [-mldbv] TIME
       at -c job [job...]
       atq [-V] [-q queue] [-v]
       atrm [-V] job [job...]
       batch [-V] [-q queue] [-f file] [-mv] [TIME]

解説

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

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

       atq     このコマンドを起動したユーザーの、実行されていないジョブを表  示する。スーパーユー
               ザーで起動すると、全てのユーザー のジョブを表示する。

       atrm    ジョブを削除する。

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

       at  ではある程度複雑な TIME 指定ができる。これは POSIX.2 標準を拡張したものである。 ジョブ
       を実行する時刻は HH:MM という形式で指定できる。  (すでにその時刻を過ぎているときは次の日に
       実行する。)  また midnight (真夜中), noon (正午), teatime (午後4時のお茶の時間) とか、 AM
       , PM も指定できる。 さらに、コマンドの実行日を指定することもできる。  日付の指定は  month-
       name day ( year も追加できる) のようにする。または MMDDYY, MM/DD/YY, DD.MM.YY なども可能で
       ある。 日付の指定は、その日の時刻の後に指定しなければならない。 また  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/doc/at/timespec に書いてある。

       atbatch は、ともに標準入力や -f オプションで指定されたファイルのコマンドを実行する。
       作業ディレクトリ、環境 (環境変数 TERM, DISPLAY, _ を除く)、 umask には、 atbatch  が起
       動されたときのものが保存される。  su(1)  したあとのシェルから起動された at (または batch )
       コマンドでは、カレントのユーザー ID が用いられる。  コマンドを実行した結果、標準エラー出力
       や標準出力が出ると、ユーザー  はメールを受け取る。 メールの配送には /usr/bin/sendmail が用
       いられる。 atsu(1)  したあとのシェルから起動されたときは、ログインシェルのオーナーが
       メール を受け取る。

       スーパーユーザーは、どんな場合でも必ずこのコマンドを使うことができる。  他のユーザーのパー
       ミッションは /etc/at.allow/etc/at.deny で指定する。

       /etc/at.allow があれば、そこに書かれたユーザーのみが at を使える。

       /etc/at.allow がなければ /etc/at.deny をチェックし、そこに書かれて「いない」ユーザーすべて
       が at を使える。

       もしどちらのファイルもなければ、スーパーユーザーのみ at を使うことができる。

       空の  /etc/at.deny があるときは、全てのユーザーがこれらのコマンドを使うことができる。 この
       設定がデフォルトである。

オプション

       -V      バージョン情報を標準エラー出力に表示する。

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

               大文字のキューで予約されたジョブは、  batch  で指定されたかのよう に扱われる。 atq
               でキューを指定すると、そのキューにたまっている 未実行ジョブだけを表示する。

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

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

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

       -d      atrm と同じ働きをする。 atq で指定された場合には、キューの中に存在している「終了し
               たがまだ削除され    ていない」ジョブを表示する。そのほかのコマンドで指定された場合
               は、その ジョブを実行する時刻を表示する。

               時刻は "1997-02-20 14:50" のような形式で表示される。ただし環境変数 POSIXLY_CORRECT
               が指定されている場合は "Thu Feb 20 14:50:00 1996" のようになる。

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

ファイル

       /var/spool/atjobs
       /var/spool/atspool
       /proc/loadavg
       /var/run/utmp
       /etc/at.allow
       /etc/at.deny

関連項目

       cron(1), nice(1), sh(1), umask(2), atd(8)

バグ

       Linux で batch が正しく動作するためには、 /proc にマウントされた proc 形式のディレクトリが
       必要である。

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

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

著者

       at はほぼ Thomas Koenig, ig25@rz.uni-karlsruhe.de によって書かれた。