Show Table of Contents
23.3. at を使用した特定の時間にジョブを実行するスケジュール設定
1 回限りのタスク (別名ジョブ) を指定した時間に 1 回実行するようスケジュール設定するときは、
at ユーティリティーを使用します。
ユーザーは、at ユーティリティーを使って
at ジョブを指定します。 このジョブはその後atd サービスによって実行されます。
23.3.1. At ジョブの前提条件
at ジョブのスケジュール設定を行う前に。
- at パッケージをインストールします。
~]#
yum install at atdサービスはインストール時に有効化されており、ブート時に自動的に開始するよう設定されています。サービスを無効にしている場合は有効にしてください。~]#
systemctl enable atd.service- 現在のセッションで
atdサービスを開始します。~]#
systemctl start atd.service
23.3.2. At ジョブのスケジュール設定
- ジョブは常に複数のユーザーにより実行されます。希望するユーザーとしてログインし、以下を実行します。
~]#
at timetime を時間指定に置き換えます。時間の指定に関する詳細は、at(1) マニュアルページと/usr/share/doc/at/timespecファイルをご覧ください。例23.1 At の時間を指定する
ジョブを 15:00 に実行するには、以下を実行します。~]#
at 15:00指定した時間を過ぎると、そのジョブは翌日の同じ時間に実行されます。ジョブを 2017 年 8 月 20 日に実行するには、以下を実行します。~]#
at August 20 2017または~]#
at 082017ジョブを 5 日後に実行するには、以下を実行します。~]#
now + 5 days at>プロンプトが表示されたら、以下のコマンドを入力して実行し、Enter を押します。~]#
at 15:00at> sh /usr/local/bin/my-script.sh at>実行したいすべてのコマンドにこの手順を繰り返します。注記
at>プロンプトに、使用されるシェルが表示されます。警告: コマンドは /bin/sh を使って実行されます。
at ユーティリティーは、ユーザーの SHELL 環境変数にあるシェルのセット、ユーザーのログインシェル、または/bin/shの、いずれか最初に発見されたものを使用します。- 空の行の上 Ctrl+D キーを押し、ジョブの指定を完了します。
注記
コマンドセットやスクリプトが標準出力に情報を表示しようとする場合、その出力はユーザーにメールで送信されます。
保留中のジョブの表示
保留中のジョブを表示するには、
atq コマンドを使用します。
~]# atq
26 Thu Feb 23 15:00:00 2017 a root
28 Thu Feb 24 17:30:00 2017 a root
各ジョブは、個別の行に以下のフォーマットで表示されます。
job_number scheduled_date scheduled_hour job_class user_name
job_queue カラムは、ジョブが at と batch のいずれのジョブであるかを指定します。 a は at を、b は batch を表します。
非 root ユーザーが閲覧できるのは、自分のジョブのみです。root ユーザーは、すべてのユーザーのジョブを閲覧できます。
スケジュール設定したジョブの削除
スケジュール設定したジョブを削除するには。
atqコマンドを使って、保留中のジョブを一覧表示します。~]#
atq26 Thu Feb 23 15:00:00 2017 a root 28 Thu Feb 24 17:30:00 2017 a root- スケジュール設定した時間とユーザーを使って、削除したいジョブを検索します。
- ジョブを番号で指定し、
atrmコマンドを実行します。~]#
atrm26
23.3.2.1. at と batch へのアクセスの制御
特定ユーザーによる
at と batch コマンドへのアクセスを制限することができます。次のルールに従って、ユーザー名を /etc/at.allow または /etc/at.deny に入力してください。
- 両方のアクセス制御ファイルは、同じフォーマットを使用します。ユーザー名は、各行に 1 人ずつです。
- いずれのファイルにも空白は使用しません。
at.allowファイルが存在する場合は、ファイルに記載されているユーザーのみがatまたはbatchを使用でき、at.denyファイルは無視されます。at.allowがない場合は、at.denyに記載されているユーザーはatまたはbatchを使用できません。rootユーザーはアクセス制御ファイルの影響を受けず、常にatおよびbatchコマンドを実行できます。
アクセス制御ファイルが変更された場合でも、
at デーモン (atd) を再起動する必要はありません。アクセス制御ファイルは、ユーザーが at または batch のコマンドの実行を試みるたびに読み込まれます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.