12.2. リモートコマンドの設定および実行


リモートホストで実行するコマンドはジョブテンプレートとして定義する必要があります。ジョブテンプレートを定義した後はこれを複数回使用することができます。

12.2.1. ジョブテンプレートのセットアップ

Satellite は、ジョブの実行に使用できるデフォルトのジョブテンプレートを多数提供します。それらを、ホスト ジョブテンプレート で検索します。デフォルトのテンプレートで、ニーズに合わせてテンプレートがある場合は、「ジョブの実行」 に進みます。
デフォルトのテンプレートは、独自のテンプレートを作成するためのベースとして使用することもできます。デフォルトのジョブテンプレートは編集用にロックされているため、変更できるようにするには、まずテンプレートのクローンを作成する必要があります。

手順12.1 ジョブテンプレートの作成方法:

  1. Hosts Job templates に移動します。
  2. 新規ジョブテンプレート をクリックします。別の方法として、既存のテンプレートを変更できます。アクション コラムで、ドロップダウンメニューから クローン を選択します。
  3. ジョブテンプレートを設定します。
    1. テンプレート タブ 、ジョブテンプレートの一意名を入力します。デフォルト を選択して、テンプレートをすべての組織およびロケーションで利用できるようにします。テンプレート エディター を使用して手動でテンプレートを挿入したり、参照 をクリックしてテキストファイルからアップロードしたりでき ます。テンプレートは Embedded Ruby (ERB)テンプレート構文を使用します。詳細は、「詳細テンプレートの作成」 を参照してください。電源アクションを実行するジョブを実行するには、高度なテンプレートが必要です。Power Action - SSH Default テンプレートをカスタムテンプレートに含める方法は、例12.4「テンプレートにパワー操作を組み込む」 を参照してください。
    2. ジョブタブでは、ジョブ カテゴリーを定義できます(独自の定義、または 表12.1「デフォルトのジョブテンプレートカテゴリー」に記載のデフォルトカテゴリーから選択したり、実効ユーザーから選択したりできます。これらの設定は、ジョブの呼び出し時にも設定できます( 手順12.2「リモートジョブの実行方法:」を参照)。テンプレートコマンドの入力パラメーターを定義することも可能です。その後、これらのパラメーターは、ジョブの実行時に要求されます。
    3. 残りのタブでは、テンプレートのタイプ、組織およびロケーションの設定、およびテンプレート履歴の表示を実行できます。
  4. 送信 をクリックします。ページが更新されると、新しいテンプレートがジョブテンプレートのリストに表示されるはずです。
重要
ホストの編集ページの パラメーター タブで表示されるパラメーターのみが、ジョブテンプレートの入力パラメーターとして使用できる点にご留意ください。
Expand
表12.1 デフォルトのジョブテンプレートカテゴリー
ジョブテンプレートのカテゴリー
説明
Packages パッケージ関連のアクションを実行するためのテンプレートです。デフォルトで、インストール、更新、および削除アクションが含まれています。
Puppet ターゲットホストで Puppet ホストを実行するためのテンプレートです。
Power パワー関連のアクションを実行するためのテンプレートです。デフォルトで、再起動およびシャットダウンアクションが含まれます。
Commands リモートホストでカスタムコマンドを実行するためのテンプレートです。
Services サービス関連のアクションを実行するためのテンプレートです。デフォルトで、開始、停止、再起動、およびステータスアクションが含まれます。
Katello コンテンツ関連のアクションを実行するためのテンプレートです。これらのテンプレートは主として Satellite Web UI の各種の場所 (たとえば、コンテンツホストの一括操作のための UI など) で使用されますが、エラータのインストールなどの各種操作を実行するために個別に使用できます。

例12.1 restorecon テンプレートの作成

この例は、Run Command - restorecon というテンプレートを作成する方法を示します。これは、ターゲットホストで選択したディレクトリー内の全ファイルに対して、デフォルトの SELinux コンテキストを復元します。
  1. Hosts Job templates に移動します。新規ジョブテンプレート をクリックします。
  2. 名前 フィールドに Run Command - restorecon を挿入します。デフォルト を選択して、テンプレートをすべての組織で利用できるようにします。以下のテキストを テンプレートエディター に追加します。
    restorecon -RvF <%= input("directory") %>
    Copy to Clipboard Toggle word wrap
    & lt;%= input ("directory")%> の文字 列は、ジョブの呼び出し時にユーザー定義のディレクトリーに置き換えられます。
  3. Job タブで、以下のアクションを実行します。
    1. ジョブカテゴリー を Commands に設定します。
    2. 入力を追加 をクリックして、ジョブのカスタマイズを可能にします。名前 フィールドに ディレクトリー を挿入します。入力する名前は、テンプレートエディターで指定された値と一致する必要があります
    3. 必須 をクリックし、ユーザーがパラメーターを指定しなければコマンドが実行しないようにします。
    4. 入力 タイプ ドロップダウンリストから ユーザー入力 を選択します。また、ジョブの呼び出し中に表示される Description (例: restorecon の Target directory )も提供します。
  4. 送信 をクリックします。
このテンプレートに基づいてジョブを実行する方法は、例12.2「複数のホストでの restorecon テンプレートの実行」 を参照してください。

12.2.2. ジョブの実行

このセクションでは、1 つ以上のホストに対してジョブテンプレートに基づくジョブを実行する方法を説明します。

手順12.2 リモートジョブの実行方法:

  1. Hosts All hosts に移動し、ジョブのターゲットホストを選択します。検索フィールドを使用してホストリストを絞り込むことができます。
  2. 画面右上の Select Action メニューから Run Job を選択します。これにより、Job invocation ページに移動します。あるいは、ホスト 1 つだけを対象にしている場合は、その名前 をクリックして、ホスト情報ページで ジョブの実行 を クリックします。Run ボタンを使用して ジョブテンプレートページからもジョブ を呼び出すことができます。
  3. ジョブ呼び出し ページで、主なジョブ設定を定義します。
    1. 使用する Job category および Job template を選択します。これらの設定は必須です。
    2. オプションで、ブックマーク リストに保存された検索文字列を選択し、ターゲットホストを指定します。
    3. 必要に応じて、検索クエリー を挿入して、ターゲットホストをさらに制限します解決 行には、クエリーの影響を受けるホストの数が表示されます。更新ボタンを押して、クエリー変更後の数を再計算します。プレビューアイコンには、ターゲットホストが一覧表示されます。
    4. 残りの設定は、選択したジョブテンプレートによって異なります。カスタムパラメーターをテンプレートに追加する方法は、手順12.1「ジョブテンプレートの作成方法:」 を参照してください。
  4. Display advanced fields をクリックして、ジョブの詳細設定を表示します。一部の詳細設定はジョブテンプレートによって異なります。以下は一般的な設定です。
    • 実効ユーザー は、ジョブを実行するためにユーザーを定義します。デフォルトは SSH ユーザーです。
    • 同時実行レベル は一度に実行するジョブの最大数を定義します。これにより、多数のホストでジョブを実行する場合に、システムのリソースに負荷が過剰にかかるのを防ぐことができます。
    • タイムスパン は、ジョブが終了していない場合は、ジョブの強制終了までの間隔(秒単位)を定義します。以前のタスクが終了するまで時間がかかりすぎているなど、定義した間隔で起動できなかったタスクはキャンセルされます。
    • クエリーのタイプは、検索クエリー が評価されるタイミングを定義します。これは、スケジュールされているタスクに対してクエリーが常に最新の状態に保つのに役立ちます。
    同時実行レベルタイムスパン 設定を使用すると、インフラストラクチャーハードウェアとニーズに合わせてジョブの実行を調整することができます。
  5. ジョブをすぐに実行する場合は、スケジュール今すぐ実行 に設定されていることを確認します。さらに、1 回限りのジョブを未来の日付で定義したり、定期的なジョブを設定することもできます。定期的なジョブについては、開始日と終了日、実行回数と頻度を定義できます。また cron 構文を使用して繰り返しを定義することもできます。cron の詳細は、Red Hat Enterprise Linux 7 『System Administrator's Guide』 の Automating System Tasks セクションを参照してください。
  6. 送信 をクリックします。これにより Job Overview ページが表示され、ジョブの完了時にはジョブのステータスも表示されます。

例12.2 複数のホストでの restorecon テンプレートの実行

以下の例では、例12.1「restorecon テンプレートの作成」 で作成したテンプレートに基づいて、複数のホストでジョブを実行する方法を示します。このジョブは、/home/ ディレクトリー下のすべてのファイルで SELinux コンテキストを復元します。
  1. Hosts All hosts に移動し、ターゲットホストを選択します。Select Action ドロップダウンリストから Run Job を選択します。
  2. ジョブ呼び出し ページで、Commands ジョブカテゴリーを選択し、Run Command - restorecon ジョブテンプレートを選択します。
  3. ディレクトリー フィールドに /home と入力します。
  4. スケジュールExecute now に設定します。
  5. 送信 をクリックします。ジョブ呼び出し ページに移動します。ここでジョブ 実行のステータスを監視できます。

12.2.3. ジョブの監視

実行中のジョブの進捗を監視できます。これは、トラブルシューティングが必要になる場合に役立ちます。

手順12.3 ジョブの監視方法:

  1. ジョブのページに移動します。このページには、Execute now が設定されているジョブをトリガーすると自動的に表示されます。スケジュールされた ジョブ+監視 に移動し、検査するジョブ実行を選択します。
  2. ジョブページで、ホスト タブをクリックします。これにより、ジョブが実行しているホストのリストが表示されます。
  3. ホスト コラム で、検査するホストの名前をクリックします。これにより、ジョブ の実行をリアルタイムで監視できる コマンドの詳細 ページが表示されます。
  4. いつでも ジョブに戻る をクリックして、ジョブの詳細 ページに戻ることができます。

12.2.4. 詳細テンプレートの作成

ジョブテンプレートの作成時に、テンプレート エディター フィールドに既存のテンプレートをインポートできます。これは レンダリング と呼ばれます。こうすることで、テンプレートを組み合わせたり、一般的なテンプレートからより具体的なテンプレートを作成したりできます。
以下のテンプレートを使用してデフォルトのテンプレートを組み合わせ、Red Hat Enterprise Linux システムに httpd サービスをインストールして起動できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => 'httpd' %>
<%= render_template 'Service Action - SSH Default', :action => 'start', :service_name => 'httpd' %>
Copy to Clipboard Toggle word wrap
上記のテンプレートはレンダリングされるテンプレートのパラメーター値を直接指定します。input() メソッドを使用して、ユーザーがジョブ実行時にレンダリングされたテンプレートへの入力を定義できるようにすることもできます。たとえば、以下の構文を使用できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => input("package") %>
Copy to Clipboard Toggle word wrap
上記のテンプレートを使用して、レンダリングされたテンプレートからパラメーター定義をインポートする必要があります。これを行うには、Jobs タブに移動し、Add Foreign Input Set をクリックし、Target template ドロップダウンリストからレンダリングされたテンプレートを選択します。すべてのパラメーターをインポートするか、コンマ区切りのリストを指定することができます。

例12.3 restorecon テンプレートのレンダリング

この例は、 で作成される Run command - restorecon テンプレートから派生するテンプレートを作成する方法を示しています。このテンプレートはジョブ実行時にユーザー入力を必要としません。ターゲットホストの /home/ ディレクトリー下のすべてのファイルに SELinux コンテキストが復元されます。
「ジョブテンプレートのセットアップ」 の説明に従って新しいテンプレートを作成し、Template editor 画面で以下の文字列を指定します。
<%= render_template("Run Command - restorecon", :directory => "/home") %>
Copy to Clipboard Toggle word wrap

例12.4 テンプレートにパワー操作を組み込む

以下の例では、再起動などのパワー操作を実行するためのジョブテンプレートをセットアップする方法を示します。この手順は、Satellite が再起動時に切断の例外をエラーとして解釈するのを防ぐため、ジョブのリモート実行が正常に機能します。
「ジョブテンプレートのセットアップ」 の説明に従って新しいテンプレートを作成し、Template editor 画面で以下の文字列を指定します。
<%= render_template("Power Action - SSH Default", :action => "restart") %>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat