スポンサーリンク

AT(1) FreeBSD 一般コマンドマニュアル AT(1)

名称

at, batch, atq, atrm − あとでジョブを実行させるためのキューの設定、確認、 ジョブの削除を行なう

書式

at [−q queue] [−f file] [−mldbv] time

at [−q queue] [−f file] [−mldbv] −t [[

                                             CC]YY]MMDDhhmm[.SS]

at −c job [job ...]
at −l
[job ...]
at −l −q
queue
at −r
job [job ...]

atq [−q queue] [−v]

atrm job [job ...]

batch [−q queue] [−f file] [−mv] [time]

解説

atbatch のユーティリティは、標準入力もしくは指定したファイルからコマ ンドを読み込み、あとで sh(1) を使って実行します。

       at

コマンドを、引数で指定した時間に実行します。

atq
ユーザの、実行待ち状態のジョブのリストを表示します。スーパユーザ が実行した場合は全員のジョブが表示されます。

atrm
指定したジョブを削除します。

batch
ロードアベレージが特定の値以下になったときにジョブを実行します。 この値は、デフォルトでは 1.5 です。この値は atrun によって指定可 能です。

at ユーティリティでは、様々な形式の時間を time として受け付けます。時刻は HHMM もしくは HH:MM の形で指定します (もしこの時刻が過ぎていた場合は、次 の日のその時刻に設定されます)。また、 midnight, noon, teatime (4pm) の キーワードも受け付けますし、時刻の後ろに AM もしくは PM をつけた時間も受 け付けます。日付は、 month-name day およびオプションの year の形で受け付 けます。 DD.MM.YYYY, DD.MM.YY, MM/DD/YYYY, MM/DD/YY, MMDDYYYY, MMDDYY も 受け付けます。日付の指定は時刻の指定の後に記述します。 [now] + count time-units のような形式で時間を指定することも可能です。time-units は時間 の単位で、 minutes, hours, days, weeks, months, years のいずれかです。時 間のサフィックスの today はジョブを今日に設定すること、 tomorrow はジョブ を明日に設定することを意味します。

例えば、今から 3 日後の午後 4 時にジョブを走らせるためには at 4PM + 3 days とします。7 月 31 日の午前 10 時の場合は at 10am Jul 31 とします。明 日の午前 1 時は at 1am tomorrow です。

at ユーティリティは、 POSIX 時刻書式 ( −t オプションを参照してください) もサポートしています。

atbatch はどちらも、標準入力または −f オプションで指定したファイルか らコマンドを読み込み、実行します。ワーキングディレクトリと環境変数 ( TERM, TERMCAP, DISPLAY および _ は除く)、 umask は実行時のものが保持され ます。 at もしくは batchsu(1) で起動されたシェルから実行された場合 は、カレントの userid を保持します。出力結果が得られた場合は、その標準出 力と標準エラー出力がメールで送られます。メールは sendmail(8) を使って送ら れます。もし atsu(1) で起動されたシェルから実行された場合は、そのログ インシェルの所有者がメールを受けることになります。

スーパユーザはどんな場合でもこれらのコマンドを実行できます。その他のユー ザは /var/at/at.allow/var/at/at.deny のファイルによって at を実行でき るか決められます。

もし /var/at/at.allow が存在するならば、その中にユーザ名を記述されたユー ザだけが at の実行を許可されます。これらの 2 ファイルでは、ユーザ名の行に おいて、ユーザ名の前に空白や他の文字が無く、たとえファイルの最後であって もユーザ名の直後に改行がある場合のみ、ユーザが列挙されているとみなされま す。他の行は無視され、コメントとして使用可能です。

もし /var/at/at.allow が存在しなければ、 /var/at/at.deny がチェックされ、 その中にユーザ名が記述されていないすべてのユーザが at の実行を許可されま す。

もし両方ともなければ、スーパユーザだけが at を実行できます。これがデフォ ルトの設定です。

実装に関する注

at の実装は、 atrun(8) を 5 分毎に呼び出す cron(8) デーモンを通じて実装さ れていることに注意してください。これは、 at の粒度がすべての用途において 最適ではないかもしれないことを意味します。より細かい粒度が必要な場合、シ ステムの crontab /etc/crontab を変更してください。

オプション

       −q queue

指定したキューを用います。キューの名称は単一の文字からなります。 有効なキューの名前は a から zA から Z です。 at のデフォルト のキューは c で、 batch のデフォルトのキューは E です。キューの文 字が後の方であればあるほど nice 値が上がります。もし大文字の キューがジョブに対して指定されたならば、時間を指定して batch が実 行されたものとして扱われます。もし atq でキューが指定されたとき は、そのキューだけの実行待ちのジョブを表示します。

−m
出力がなかった場合でも、ジョブの完了時にメールをユーザに送りま す。

−f file
標準入力のかわりにファイルからジョブを読み込みます。

−l
引数無しの場合、起動したユーザの全ジョブを表示します。 1 個以上の ジョブ番号を指定した場合、それらのジョブのみを表示します。

−d
atrm
の別名 (本オプションは価値が低下しています。代りに −r を使用 してください)。

−b
batch
の別名。

−v
atq
の場合は、キューの中の実行されたがまだ削除されていないジョブ を表示します。さもなければジョブが実行される時間を表示します。

−c
コマンドラインにリストされたジョブを標準出力に出力します。

−r
指定したジョブを削除します。

−t
POSIX 時刻書式を使用して、ジョブの時刻を指定します。引数の書式は [[
CC
]YY]MMDDhhmm[.SS] という形式であることが必要であり、各文字 の組は以下の意味です:

CC
年の最初の 2 桁 (世紀)。
YY

年の次の 2 桁。
MM

月であり 1 から 12 です。
DD

日であり 1 から 31 です。
hh

時間であり、0 から 23 です。
mm

分であり、0 から 59 です。
SS

秒であり、0 から 61 です。

CC および YY の文字の組が指定されない場合、今年を意味します。 SS の文字の組が指定されない場合、値は 0 になります。

関連ファイル

       /var/at/jobs

ジョブファイルを保管しておくディレクトリ
/var/at/spool
出力ファイルを保管しておくディレクトリ
/var/run/utmp
ログインレコード
/var/at/at.allow
許可属性の設定
/var/at/at.deny
不許可属性の設定
/var/at/jobs/.lockfile
ジョブ作成のロックファイル

関連項目

nice(1), sh(1), umask(2), atrun(8), cron(8), sendmail(8)

バグ

/var/run/utmp が利用できないか不正であった場合、もしくは at が実行された 時にユーザがログインしていない場合、環境変数 LOGNAME で表される userid に メールが送られます。もし定義されていないか空ならばカレントの userid にな ります。

ユーザ同士でリソースの競合がある場合は現実装の atbatch ユーティリティ は適当ではありません。もしこのような場合にあてはまるのなら、 nqs のような 他のバッチシステムを検討してください。

2038 年以降の日付を指定しても動作しないシステムがあるかもしれません。

作者

at のほとんどの部分は Thomas Koenig ⟨ig25@rz.uni-karlsruhe.de⟩ が作成しま した。時間の構文解析部分は
David Parsons ⟨orc@pell.chi.il.us⟩ が作成し、
Joe Halpin ⟨joe.halpin@attbi.com⟩ が少し拡張しました。

FreeBSD 10.0 January 13, 2002 FreeBSD 10.0

スポンサーリンク