2017-07-15 8 views
0

inventoryファイルを指定すると、ansible -m raw -a 'mkdir test'などのアドホックコマンドをどのように異なるマシンで実行できますか?アドホックコマンドをホストセットでどのように実行できますか? (グループ1とグループ2のホスト、グループ1のホスト、グループ2のホストなど)

  • app1にあるホストとapp2app1 OR app2である
  • app1にあるホストとNOT app2
  • ホストで:たとえば

    は、どのようにコマンドが上で実行することができます

ここに在庫ファイルがあります:

[app1] 
ip1.address 
ip2.address 
ip3.address 

[app2] 
ip1.address 
ip2.address 
ip4.address 

答えて

0

あなたの質問に記載されているように、異なるホストグループで実行可能なアドホックです。 limitと呼ばれる-lパラメーターは、インベントリー内の限られたノード・セットに対してタスクを実行するために使用されます。 App1とAPP2にある

  • ホスト

ansibleすべて-i '/パス/に/在庫' 'はAPP1、APP2は' -a「MKDIR の$ HOMEシェル-m -l APP1にとNOT APP2にある/テスト」

  • ホスト

ansibleすべて-i '/パス/に/在庫' -l 'APP1' -m -a "MKDIR $ HOME /テスト"

APP1である
  • ホストまたはAPP2
  • シェル

すべて-i '/パス/に/在庫は' 'APP1:APP2' -l ansible -mはPS

-a「MKDIR $ HOME /テストシェル: inventory.cfgにインベントリとして既に設定されている場合は、インベントリへのパスを明示的に指定する必要はありません。

+0

どのように ''すべての '' app1 ' - mのシェル - "mkdir $ HOME /テスト" '除外' app2'ですか? – Greg

+0

の場合、-l(limit)パラメーターを使用してapp1上でのみ再生を実行するように制限しています。 – tux

+0

サンプルのインベントリファイルを使用して、 'app1'を制限すると、' ip1.address'と 'ip2.address'でコマンドを実行できないのですか? – Greg

関連する問題