CentOSのat、batchコマンドの概要についてオンラインマニュアルを読んでまとめました。
(1)at、batchコマンドの概要
・atは特定の時刻での1回限りのタスクのスケジュールに使われ、batchはシステム負荷平均が0.8を下回った時に実行される1回限りのタスクのスケジュールに使用される。
・atとbatchコマンドは、”at”パッケージに含まれる。
・atコマンドとbatchコマンドは、下記オプションを指定できる。
-f:コマンドやシェルスクリプトをファイルから読み込む
-m:ジョブが完了した時点で、ユーザーに電子メールを送信する
-v:ジョブが実行される時刻を表示する
(2)atdサービスの実行
atジョブとbatchジョブのいずれも、atdサービスによって実行される。
①起動、停止
service atd start
service atd stop
②自動起動の設定
chkconfig atd on
(3)atジョブの設定
①コマンドラインで”at 時刻”を入力。
※時刻の指定方法。
・HH:MM
例)04:00
・MONTHDAYYEAR形式
例)January 15 2012 年表示はオプションです。
・MMDDYY、MM/DD/YY、MM.DD.YY のいずれかの形式
例)011512 (2012年1月15日)
・now + TIME
ここでのTIMEは、整数と分、時間、日、週の値として定義される。
例)now + 5 days
②表示されている”at> “プロンプトで、ジョブコマンドを定義。
コマンドまたはシェルスクリプト名を入力する
③完了したら、空白行でCtrl+Dを押してプロンプトを終了。
※保留中のジョブを表示するには、atqコマンドを使用する。
(4)batchジョブの設定
①コマンドラインで”batch”を入力。
②表示されている”at> “プロンプトで、ジョブコマンドを定義
コマンドまたはシェルスクリプト名を入力する
③完了したら、空白行でCtrl+Dを押してプロンプトを終了。
※保留中のジョブを表示するには、atqコマンドを使用する。
(5)アクセス制御
・/etc/at.allowと/etc/at.denyのファイルを使用して、atコマンドとbatchコマンドへのアクセスを制限できる。
・at.allowファイルが存在する場合は、そのファイルに記載されているユーザーのみが許可され、at.denyファイルは無視される。
・at.allowが存在しない場合は、at.denyに記載されているユーザーは使用できない。
・アクセス制御ファイルは、ユーザーがat、batchコマンドの実行をするたびに読み込まれるので、アクセス制御ファイルが変更された場合でも、atdを再起動する必要はない。 関連記事の目次