SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UNIXコマンド辞典

batch

システム負荷を見ながらジョブを自動実行する

対応OS: linux , freebsd, solaris

2015/05/20 08:00

batch [-f file] [-m] [-v] [TIME]

 batchコマンドは、標準入力もしくは、オプション「-f」で指定したファイルからコマンドを読み込み、指定した時刻に自動実行します。機能としては、atコマンドとほぼ同じですが、指定時刻になった時に無条件にジョブが実行されるのではなく、システムの負荷が特定の値以下になるまで待機してからジョブを実行します。

 この時、実行のきっかけとなるシステムの負荷のデフォルト値は、システムによって異なります。

オプション
① -f file
標準入力のかわりに、「file」で指定したファイルからコマンドを読み込みます。
② -m
ジョブの終了通知を自分自身にメールで送信するように設定します。
③ -v
ジョブが実行される時間を表示します。
HINT!

 ジョブの実行結果が標準出力に出されない場合には、ジョブが終了したことを知ることができません。このような場合に、オプション「-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
HINT!

 atコマンド・tarコマンド

バッチで実行

 UNIXシステムは、WEBシステムに代表されるようにサーバ用途として使用される場合が多いシステムといえます。これは、24時間電源切断することなく運用されるということを意味します。ですから、システムエラーなどの不慮の事故により、万が一システム停止することがあれば、すぐに元の状態に戻さなければなりません。そのためにも、バックアップという作業が非常に重要になります。筆者が管理しているUNIXマシンは、毎日データのバックアップを行っています。しかし、一般ユーザが使用している時間にバックアップしたのでは、バックアップによるシステム負荷の増大があり賢明ではありません。そこで、一般ユーザの比較的使用しない時間に、この処理をまとめて行うようにしています。これには、crontabやatコマンドを用い、指定時間に実行するように設定しています。この時間に予想よりも多くのユーザが使用している場合にも問題ないように、batchコマンドを使用して、システムの負荷を考慮に入れたバックアップスケジュールにすると万全でしょう。

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

本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.

開発者必携!VBAスキルを証明する資格「VBAエキスパート」

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング