at - コマンド (プログラム) の説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 解説
- オプション
- ファイル
- 関連項目
- バグ
- 著者
名前
at, batch, atq, atrm - 後で実行するコマンドジョブをキューに入れたり、そのようなジョブの閲覧・削除を行なう
書式
at
[
-V
][
-q
queue
][
-f
file
][
-m
][
-v
]
TIME
at
[
-V
][
-q
queue
][
-f
file
][
-m
][
-v
]
-t
time_arg
at -c
job
[
job...
]
at -l
[
-V
][
-q
queue
]
atq
[
-V
][
-q
queue
]
at -d
[
-V
][
-q
queue
]
job
[
job...
]
at -r
[
-V
][
-q
queue
]
job
[
job...
]
atrm
[
-V
][
-q
queue
]
job
[
job...
]
batch
[
-V
][
-q
queue
][
-f
file
][
-mv
][
TIME
]
解説
at
と
batch
は、標準入力や指定されたファイルからコマンドを読み取り、後で
/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
に書いてある。
at
と
batch
は、ともに標準入力や
-f
オプションで指定されたファイルのコマンドを実行する。
作業ディレクトリ、環境 (環境変数
TERM
,
DISPLAY
,
_
を除く)、 umask には、
at
や
batch
が起動されたときのものが保存される。
su(1)
したあとのシェルから起動された
at
(または
batch
)コマンドでは、カレントのユーザー ID が用いられる。
コマンドを実行した結果、標準エラー出力や標準出力が出ると、ユーザー
はメールを受け取る。
メールの配送には
/usr/bin/sendmail
が用いられる。
at
が
su(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
から
z
と
A
から
Z
である。
a
キューが
at
のデフォルトキューで、
b
キューが
batch
のデフォルトキューである。
後のほうの文字のキューほど、より nice レベルが大きくなる
(実行の優先度が下がる)。特殊キュー "=" は現在実行されているジョブのため
に予約されている。
大文字のキューで予約されたジョブは、 batch で指定されたかのよう
に扱われる。
atq
でキューを指定すると、そのキューにたまっている
未実行ジョブだけを表示する。
-
-m
-
ジョブが完了したとき、そのジョブがなにも出力しなくても、
ユーザーに完了通知をメールする。
-
-f
file
-
標準入力でなく、
file
からジョブを読み取る。
-
-l
-
atq
と同じ働きをする。
-
-d, -r
-
atrm
と同じ働きをする。
atq
で指定された場合には、キューの中に存在している「終了したがまだ削除され
ていない」ジョブを表示する。そのほかのコマンドで指定された場合は、その
ジョブを実行する時刻を表示する。
時刻は "1997-02-20 14:50" のような形式で表示される。ただし環境変数
POSIXLY_CORRECT
が指定されている場合は "Thu Feb 20 14:50:00 1996" のようになる。
-
-v
-
ジョブが実行される時間を表示する。
-
-t
time_arg
-
time_arg
オプションで指定した時間にジョブを実行させるようにする。
time_arg
の書式は
touch(1)
の
-t
time
オプションと同じでなければならない。
-
-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 に送られる。
at
と
batch
の現在の実装は、ユーザーが資源を取り合っているような状況下では
適当なものではない。このような場合は他のbatchシステム、たとえば
nqs
などを考えるべきだろう。
著者
at はほぼ Thomas Koenig, ig25@rz.uni-karlsruhe.de によって書かれた。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする