12.2. リモートコマンドの設定および実行
12.2.1. ジョブテンプレートのセットアップ
手順12.1 ジョブテンプレートのクローンを作成するには、以下を実行します。
- → に移動します。
- をクリックします。または、アクション 列のドロップダウンメニューで クローン を選択して既存のテンプレートを変更できます。
- ジョブテンプレートを設定します。
- テンプレート タブで、ジョブテンプレートの固有の名前を入力します。デフォルト を選択すると、テンプレートをすべての組織およびロケーションで利用可能にできます。テンプレートエディター を使用してテンプレートを手動で入力することも、 をクリックしてテキストファイルからアップロードすることもできます。テンプレートは Embedded Ruby (ERB) テンプレート構文を使用します。詳細は、「詳細テンプレートの作成」 を参照してください。パワー関連のアクションを実行する場合などには詳細なテンプレートが必要になります。Power Action - SSH Default テンプレートをカスタムテンプレートに組み込む方法については、例12.4「テンプレートにパワー操作を組み込む」 を参照してください。
- Job (ジョブ) タブで、ジョブカテゴリーを定義 (独自のカテゴリーを定義するか、表12.1「デフォルトのジョブテンプレートカテゴリー」 に一覧表示されているデフォルトカテゴリーから選択する) したり、実効ユーザーを定義したりすることができます。これらの設定は、ジョブの起動時にも設定できます (手順12.2「リモートジョブを実行するには、以下を実行します。」 を参照してください)。また、テンプレートコマンドの入力パラメーターを定義できます。これらのパラメーターはジョブの実行時に要求されます。
- 残りのタブでは、テンプレートのタイプ、組織およびロケーションの設定、およびテンプレート履歴の表示を実行できます。
- をクリックします。ページの更新時に、新規のテンプレートがジョブテンプレートの一覧に表示されるはずです。
重要
表12.1 デフォルトのジョブテンプレートカテゴリー
|
ジョブテンプレートのカテゴリー
|
説明
|
|---|---|
| Packages | パッケージ関連のアクションを実行するためのテンプレートです。デフォルトで、インストール、更新、および削除アクションが含まれています。 |
| Puppet | ターゲットホストで Puppet ホストを実行するためのテンプレートです。 |
| Power | パワー関連のアクションを実行するためのテンプレートです。デフォルトで、再起動およびシャットダウンアクションが含まれます。 |
| Commands | リモートホストでカスタムコマンドを実行するためのテンプレートです。 |
| Services | サービス関連のアクションを実行するためのテンプレートです。デフォルトで、開始、停止、再起動、およびステータスアクションが含まれます。 |
| Katello | コンテンツ関連のアクションを実行するためのテンプレートです。これらのテンプレートは主として Satellite Web UI の各種の場所で使用されます (たとえば、コンテンツホストの一括操作のための UI など)が、エラータのインストールなどの各種操作を実行するために個別に使用できます。 |
例12.1 restorecon テンプレートの作成
SELinux コンテキストを復元します。
- → に移動します。 をクリックします。
- 名前 フィールドに Run Command - restorecon を挿入します。デフォルト を選択してテンプレートをすべての組織で利用できるようにします。以下のテキストを テンプレートエディター に追加します。
restorecon -RvF <%= input("directory") %><%= input("directory") %>の文字列は、ジョブの呼び出し時にユーザー定義のディレクトリーに置き換えられます。 - Job (ジョブ) タブで、以下のアクションを実行します。
- ジョブカテゴリー を
Commandsに設定します。 - をクリックして、ジョブのカスタマイズを可能にします。
ディレクトリーを Name (名前) フィールドに挿入します。入力名は テンプレートエディター で指定される値と一致している必要があります。 - Required をクリックし、コマンドがユーザー指定のパラメーターなしでは実行されないようにします。
- Input type ドロップダウンリストから
ユーザー入力を選択します。また、Target directory for restorecon などのようにジョブの呼び出しの際に表示される Description (説明) を指定します。
- をクリックします。
12.2.2. ジョブの実行
手順12.2 リモートジョブを実行するには、以下を実行します。
- → に移動し、ジョブのターゲットホストを選択します。検索フィールドを使用してホストの一覧の範囲を制限することができます。
- 画面右上の アクションを選択 メニューから ジョブを実行 を選択します。これにより、ジョブ呼び出し ページに移動します。または、ターゲットが 1 つのホストのみである場合、その名前をクリックし、ホスト情報ページで をクリックします。 ボタンを使用して ジョブテンプレート ページからジョブを起動することもできます。
- ジョブ呼び出し ページで、主なジョブ設定を定義します。
- 使用する ジョブカテゴリー および ジョブテンプレート を選択します。これらの設定は必須です。
- オプションとして、ブックマーク の一覧で保存された検索文字列を選択してターゲットホストを指定します。
- オプションとして、Search query を入力し、ターゲットホストの範囲をさらに狭めることができます。解決 行には、クエリーの影響を受けるホストの数が表示されます。更新ボタンを押して、クエリーの変更後の数の再計算を実行します。プレビューアイコンにはターゲットホストが一覧表示されます。
- 残りの設定は、選択したジョブテンプレートによって異なります。カスタムパラメーターをテンプレートに追加する方法については、手順12.1「ジョブテンプレートのクローンを作成するには、以下を実行します。」 を参照してください。
- オプションとして、詳細フィールドを表示 をクリックします。一部の詳細設定はジョブテンプレートによって異なります。以下は一般的な設定です。
- 実効ユーザー: ジョブを実行するためにユーザーを定義します。デフォルトは SSH ユーザーです。
- 同時実行レベル: 1 度に実行されるジョブの最大数を定義します。タイムスパン では、定義された期間にジョブの実行を分散できます。これらの設定は、インフラストラクチャー上での大規模なジョブ実行の負荷分散に役立ちます。
- クエリーのタイプ: 検索クエリーが評価される時を定義します。これは、クエリーをスケジュールされるタスクに対して常に最新の状態に保つのに役立ちます。
- ジョブをすぐに実行する場合は、スケジュール が
今すぐ実行に設定されていることを確認します。さらに 1 回限りの将来のジョブを定義したり、再帰的に実行されるジョブをセットアップすることもできます。再帰的に実行されるジョブについては、開始日と終了日、実行の回数と頻度を定義することができます。また cron 構文を施与うして繰り返しを定義することもできます。 - をクリックします。これにより、Job Overview (概要) ページが表示され、ジョブの完了時にはジョブのステータスも表示されます。
例12.2 複数のホストでの restorecon テンプレートの実行
/home/ ディレクトリーの下にあるすべてのファイルで SELinux コンテキストを復元します。
- → に移動し、ターゲットホストを選択します。アクションの選択 ドロップダウンリストから ジョブを実行 を選択します。
- ジョブ呼び出し ページで、
Commandsジョブカテゴリーを選択し、Run Command - restoreconジョブテンプレートを選択します。 - directory フィールドに
/homeを入力します。 - スケジュール を
今すぐ実行に設定します。 - をクリックします。ジョブ呼び出し ページに移動します。ここでジョブ実行のステータスを監視できます。
12.2.3. ジョブの監視
手順12.3 ジョブを監視するには、以下を実行します。
- ジョブのページに移動します。このページは、
今すぐ実行が設定されているジョブをトリガーすると自動的に表示されます。スケジュールされたジョブを監視するには、 → に移動して、検査するジョブ実行を選択します。 - 「ジョブ」ページで ホスト タブをクリックします。これにより、ジョブが実行されているホストの一覧が表示されます。
- ホスト 列で、検査するホストの名前をクリックします。これにより、ジョブの実行をリアルタイムでモニターできる Detail of Commands (コマンドの詳細) ページが表示されます。
- いつでも をクリックして Job Details (ジョブの詳細) ページに戻ることができます。
12.2.4. 詳細テンプレートの作成
httpd サービスを Red Hat Enterprise Linux システムにインストールし、これを起動できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => 'httpd' %> <%= render_template 'Service Action - SSH Default', :action => 'start', :service_name => 'httpd' %>
input() メソッドを使用することもできます。たとえば、以下の構文を使用できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => input("package") %> 例12.3 restorecon テンプレートのレンダリング
/home/ ディレクトリー下のすべてのファイルで SELinux コンテキストを復元します。
<%= render_template("Run Command - restorecon", :directory => "/home") %>例12.4 テンプレートにパワー操作を組み込む
<%= render_template("Power Action - SSH Default", :action => "restart") %>
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.