動作

クライアントに対するアクションは、さまざまな方法で管理することができます。

Saltクライアントの場合、自動化された定期的なアクションをスケジュールして、指定されたスケジュールでクライアントにhighstateまたは任意のカスタム状態のセットを適用できます。 定期的なアクションは、個々のクライアント、システムグループ内のすべてのクライアント、または組織全体に適用できます。

Saltクライアントと従来のクライアントの両方で、アクションチェーンを作成することにより、特定の順序で実行されるアクションを設定できます。アクションチェーンは事前に作成および編集でき、適切な時間に実行するようにスケジュールできます。

また、1つ以上のSaltクライアントに対してリモートコマンドを実行することもできます。リモートコマンドを使用すると、個々のSaltクライアント、または検索語に一致するすべてのクライアントにコマンドを発行できます。

1. 定期的なアクション

個々のSaltクライアント、システムグループ、または組織内のすべてのクライアントに定期的なアクションを適用することができます。

現在、SUSE Managerは、次のアクションタイプを定期的なアクションとしてサポートしています。

  • Highstate: highstateを実行します。

  • カスタム状態: カスタム状態のセットを実行します。カスタム状態には、SUSE Managerによって提供される内部状態、またはユーザによって作成された設定チャンネルのいずれかを指定できます。

設定チャンネルの詳細については、設定管理を参照してください。

手順: 新しい定期的なアクションを作成する
  1. 個々のクライアントに定期的なアクションを適用するには、[システム]に移動し、クライアントをクリックしてスケジュールを設定し、[定期的なアクション]タブに移動します。

  2. システムグループに定期的なアクションを適用するには、システム  システムグループに移動し、スケジュールを設定するグループを選択して、[定期的なアクション]タブに移動します。

  3. 作成をクリックします。

  4. 動作タイプ]ドロップダウンから動作タイプを選択します。

  5. 新しいスケジュールの名前を入力します。

  6. 定期的なアクションの頻度を選択します。

    • 毎時: 各時間の分を入力します。 たとえば、15は毎時15分にアクションを実行します。

    • 毎日: 毎日の時間を選択します。 たとえば、01:00は、SUSE Managerサーバのタイムゾーンで、毎日0100にアクションを実行します。

    • 毎週: 指定した時刻に毎週アクションを実行する曜日と時刻を選択します。

    • 毎月: 指定した時刻に毎月アクションを実行する日付と時刻を選択します。

    • 独自のクォーツ書式: 詳細オプションについては、独自のクォーツ文字列を入力します。 たとえば、毎月毎週土曜日の0215に定期的なアクションを実行するには、次のように入力します。

      0 15 2 ? * 7
  7. オプション: [テストモード]スイッチを オンに切り替えて、テストモードでスケジュールを実行します。

  8. カスタム状態タイプのアクションの場合は、利用可能な状態のリストから状態を選択し、btn: [変更点の保存]をクリックします。これにより、現在の状態選択のみが保存され、スケジュールは保存されません。

  9. 次のペインで、選択した状態をドラッグアンドドロップして実行順序に配置し、確認をクリックします。

  10. 最後に、スケジュールの作成をクリックして保存し、既存のスケジュールの完全なリストを表示します。

組織管理者は、組織内のすべてのクライアントに定期的なアクションを設定および編集できます。 ホーム  組織  定期的なアクションに移動して、組織全体に適用されるすべての定期的なアクションを表示します。

SUSE Manager管理者は、すべての組織のすべてのクライアントの定期的なアクションを設定および編集できます。 管理  組織に移動し、管理する組織を選択して、 状態  定期的なアクションタブに移動します。

定期的なアクションは、Saltクライアントでのみ使用できます。 グループまたは組織の従来のクライアントは無視されます。

2. 動作チェーン

クライアントに対して多数の連続動作を実行する必要がある場合は、順序を確実に反映するための動作チェーンを作成できます。

デフォルトでは、ほとんどのクライアントはコマンドが発行されるとすぐに動作を実行します。 場合によっては、動作に時間がかかることがあります。これは、その後に実行された動作が失敗することを意味します。 たとえば、クライアントに再起動を指示してから2番目のコマンドを発行すると、再起動がまだ行われているため、2番目の動作が失敗する可能性があります。 アクションが正しい順序で実行されるようにするには、動作チェーンを使用します。

トランザクション更新システムの場合、動作チェーンは、再起動動作があるまで単一スナップショット内で実行されます。 これによりいくつかの制限が発生する可能性があります。

詳細については、SLE Microクライアントの登録を参照してください。

動作チェーンは、従来のクライアントとSaltクライアントの両方で使用できます。 動作チェーンには、次の動作を任意の数、任意の順序で含めることができます。

  • システムの詳細  リモートコマンド

  • システムの詳細  システムの再起動をスケジュール

  • システムの詳細  状態  highstate

  • システムの詳細  ソフトウェア  パッケージ  一覧表示/削除

  • システムの詳細  ソフトウェア  パッケージ  インストール

  • システムの詳細  ソフトウェア  パッケージ  アップグレード

  • システムの詳細  ソフトウェア  パッチ

  • システムの詳細  ソフトウェア  ソフトウェアチャンネル

  • システムの詳細  設定

  • イメージ  ビルド

プロシージャ: 新しい動作チェーンの作成
  1. SUSE Manager Web UIで、動作チェーンで実行する最初の動作に移動します。 たとえば、クライアントの[システムの詳細]に移動し、システムの再起動をスケジュールをクリックします。

  2. 以下に追加]フィールドをオンにし、追加する動作チェーンを選択します。

    • これが最初の動作チェーンの場合は、[新しい動作チェーン]を選択します。

    • 動作チェーンがすでに存在する場合は、リストから選択します。

    • 既存の動作チェーンがすでにあるが、新しい動作チェーンを作成する場合は、作成する新しい動作チェーンの名前の入力を開始します。

  3. 動作を確認します。 動作はすぐには実行されず、新しい動作チェーンが作成され、これを確認する青いバーが画面の上部に表示されます。

  4. 以下に追加]フィールドをオンにし、追加する動作チェーンの名前を選択して、動作チェーンに動作の追加を続行します。

  5. 動作を追加し終えたら、スケジュール  動作チェーンに移動して、リストから動作チェーンを選択します。

  6. 動作をドラッグして正しい位置にドロップすることで、動作の順序を変更します。 青いプラス記号をクリックして、動作が実行されるクライアントを表示します。 保存をクリックして、変更を保存します。

  7. 実行する動作チェーンの時刻をスケジュールし、保存とスケジュールをクリックします。 保存または保存とスケジュールのいずれかをクリックせずにページを離れる場合、未保存の変更はすべて破棄されます。

動作チェーン内の1つの動作が失敗すると、動作チェーンが停止し、これ以上の動作は実行されません。

スケジュール  待機中の動作に移動して、動作チェーンからスケジュール済みの動作を確認できます。

3. リモートコマンド

リモートでコマンドを実行するようにクライアントを設定できます。 これにより、クライアントに直接アクセスすることなく、スクリプトまたは個々のコマンドをクライアントに発行できます。

この機能はSaltクライアントで自動的に有効になるため、これ以上の設定を行う必要はありません。 従来のクライアントでは、ブートストラップスクリプトを使用してクライアントを登録し、リモートコマンドを有効にしている場合はこの機能が有効になります。 代わりに、このプロシージャを使用して手動で有効にすることもできます。

開始する前に、インストールされているオペレーティングシステムに適したツールの子チャンネルにクライアントがサブスクライブされていることを確認してください。 ソフトウェアチャンネルへのサブスクライブの詳細については、ソフトウェアチャンネルを参照してください。

トランザクション更新システムの場合、リモートコマンドが単一スナップショット内で実行されることを考慮します。 これによりいくつかの制限が発生する可能性があります。

詳細については、SLE Microクライアントの登録を参照してください。

プロシージャ: リモートコマンドを受け入れるように従来のクライアントを設定する
  1. クライアントのコマンドプロンプトで、パッケージマネージャを使用してrhncfgrhncfg-client、およびrhncfg-actionsパッケージをインストールします(まだインストールされていない場合)。 例:

    zypper in rhncfg rhncfg-client rhncfg-actions
  2. クライアントのコマンドプロンプトで、rootとして、ローカル設定ディレクトリのパスを作成します。

    mkdir -p /etc/sysconfig/rhn/allowed-actions/script
  3. 新しいディレクトリにrunという空のファイルを作成します。 このファイルは、SUSE Managerサーバにリモートコマンドを実行するための許可を与えます。

    touch /etc/sysconfig/rhn/allowed-actions/script/run

Saltクライアントの場合、リモートコマンドは、クライアントの/tmp/ディレクトリから実行されます。 リモートコマンドが正確に機能するようにするには、noexecオプションを指定して/tmpをマウントしないでください。 詳細については、トラブルシューティングを参照してください。

リモートコマンド]ページから実行されるすべてのコマンドは、クライアント上でrootとして実行されます。 ワイルドカードを使用して、任意の数のシステムでコマンドを実行できます。 コマンドを発行する前に、必ず十分注意してコマンドを確認してください。

プロシージャ: 従来のクライアントでのリモートコマンドの実行
  1. SUSE Manager Web UIで、[システム]に移動して、リモートコマンドを実行するクライアントをクリックし、詳細  リモートコマンドタブに移動します。

  2. ユーザーとして実行する]フィールドで、コマンドを実行するクライアント上のユーザーのユーザーID (UID)を入力します。 または、[グループとして実行する]フィールドのグループID (GID)を使用して、コマンドを実行するグループを指定できます。

  3. オプション: [ タイムアウト]フィールドに、コマンドのタイムアウト期間を秒単位で入力します。 この期間内にコマンドが実行されない場合、このコマンドは実行されません。

  4. コマンドラベル]フィールドに、コマンドの名前を入力します。

  5. スクリプト ]フィールドに、実行するコマンドまたはスクリプトを入力します。

  6. コマンドを実行する日時を選択するか、リモートコマンドを動作チェーンに追加します。

  7. リモートコマンドをスケジュールするには、スケジュールをクリックします。

動作チェーンの詳細については、Action Chainsを参照してください。

プロシージャ: Saltクライアントでのリモートコマンドの実行
  1. Salt  リモートコマンドに移動します。

  2. 最初のフィールドで、@記号の前に、発行するコマンドを入力します。

  3. 2番目のフィールドで、@記号の後に、コマンドを発行するクライアントを入力します。 個々のクライアントのminion-idを入力することも、ワイルドカードを使用してクライアントの範囲をターゲットにすることもできます。

  4. ターゲットの検索をクリックして、ターゲットにしたクライアントを確認し、正しい詳細情報を使用していることを確認します。

  5. コマンドの実行をクリックして、ターゲットクライアントにコマンドを発行します。