Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

at

指定時刻にジョブを自動実行する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
at [-f file] [-m] TIME
at -l [job...]
at -d job [Linux][FreeBSD]
at -r job [Solaris]

 atコマンドは、標準入力もしくは、オプション「-f」で指定したファイルからコマンドを読み込み、指定した時刻に自動実行します。この時実行する一連のコマンドをジョブといいます。

 TIMEには様々な形式で時間を指定することができますが、通常「hhmm」もしくは「hh:mm」の形式で指定します。

オプション
① -f file
標準入力の代わりに、「file」で指定したファイルからコマンドを読み込みます。
② -m
ジョブの終了通知をメールで送信するように設定します。
③ -l [job...]
ユーザのジョブを表示します。「job...」にはジョブ番号を指定し、1個以上のジョブ番号を指定した場合、それらのジョブのみを表示します。「job...」を指定しなかった場合には、すべてのジョブを表示します。
④ -d job [Linux][FreeBSD]
「job」に指定したジョブ番号のジョブを削除します。
⑤ -r job [Solaris]
「job」に指定したジョブ番号のジョブを削除します。
HINT!

 ジョブの実行結果が標準出力に出されない場合には、ジョブが終了したことを知ることができません。このような場合に、オプション「-m」を指定すると有効です

引数
① TIME
ジョブを実行する時刻を指定します。
注意

 FreeBSDでは、一般ユーザにatコマンドの実行を許可していないため、「/var/at/at.allow」に許可するユーザを記述しておくか、「/var/at/at.deny」に許可しないユーザ名を記述しておく必要があります

21:00に、コマンドを実行するように指定する
$ at -m 21:00 
at> ls -l /var/log
21:00に実行するコマンド
at>
[Ctrl]+[D]キーを押すと、ジョブが決定して、「at>」を抜ける
job 6 at 2003-02-23 21:00
21:01に、ファイルに記述したコマンドを実行する
$ at -m -f ls.sh 21:01 
ファイル「ls.sh」に記述したコマンドを21:01に実行する

job 7 at 2003-02-23 21:01
ジョブの一覧を表示する
$ at -l 
6 2003-02-23 21:00 a cmd
7 2003-02-23 21:01 a cmd
指定したジョブを削除する
$ at -d 6 
$ at -l
7 2003-02-23 21:01 a cmd

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5