batchコマンドは、標準入力もしくは、オプション「-f」で指定したファイルからコマンドを読み込み、指定した時刻に自動実行します。機能としては、atコマンドとほぼ同じですが、指定時刻になった時に無条件にジョブが実行されるのではなく、システムの負荷が特定の値以下になるまで待機してからジョブを実行します。
この時、実行のきっかけとなるシステムの負荷のデフォルト値は、システムによって異なります。
- ① -f file
- 標準入力のかわりに、「file」で指定したファイルからコマンドを読み込みます。
- ② -m
- ジョブの終了通知を自分自身にメールで送信するように設定します。
- ③ -v
- ジョブが実行される時間を表示します。
ジョブの実行結果が標準出力に出されない場合には、ジョブが終了したことを知ることができません。このような場合に、オプション「-m」を指定すると有効です
- ① TIME
- ジョブを実行する時間を「hhmm」もしくは「hh:mm」の形式で指定します。省略した場合には、即時実行されます。
$ batch
warning: commands will be executed using (in order)
a) $SHELL b) login shell c) /bin/sh
at> tar cvf /tmp/backup/home.tar *
at>
[Ctrl]+[D]キーを押すと、ジョブが決定して、「at>」を抜けるjob 10 at 2003-02-24 02:22
UNIXシステムは、WEBシステムに代表されるようにサーバ用途として使用される場合が多いシステムといえます。これは、24時間電源切断することなく運用されるということを意味します。ですから、システムエラーなどの不慮の事故により、万が一システム停止することがあれば、すぐに元の状態に戻さなければなりません。そのためにも、バックアップという作業が非常に重要になります。筆者が管理しているUNIXマシンは、毎日データのバックアップを行っています。しかし、一般ユーザが使用している時間にバックアップしたのでは、バックアップによるシステム負荷の増大があり賢明ではありません。そこで、一般ユーザの比較的使用しない時間に、この処理をまとめて行うようにしています。これには、crontabやatコマンドを用い、指定時間に実行するように設定しています。この時間に予想よりも多くのユーザが使用している場合にも問題ないように、batchコマンドを使用して、システムの負荷を考慮に入れたバックアップスケジュールにすると万全でしょう。
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.