天天看點

ansible常用子產品詳解

<code>ansible常用子產品詳解:</code>

<code>    </code><code>ansible &lt;host</code><code>-</code><code>pattern&gt; [</code><code>-</code><code>m module_name] [</code><code>-</code><code>a args] [options] </code><code>#ansible指令格式</code>

<code>         </code><code>指定主機組或ip位址     指定調用子產品   傳遞給子產品的參數  </code>

<code>    </code><code>ansible</code><code>-</code><code>doc </code><code>-</code><code>l             </code><code>#列出可用子產品</code>

<code>    </code><code>ansible</code><code>-</code><code>doc </code><code>-</code><code>s model_name     </code><code>#檢視指定子產品詳細用法</code>

<code>    </code> 

<code>command:ansible預設子產品,對指定主機執行指令,不能了解特殊字元</code>

<code>    </code><code>例:ansible web </code><code>-</code><code>a </code><code>'date'</code> <code>#對web組裡的主機執行date指令,web需要在hosts中定義</code>

<code>shell:執行指令操作,比command更強的,能夠了解特殊字元</code>

<code>    </code><code>例:</code>

<code>        </code><code>ansible web </code><code>-</code><code>m shell </code><code>-</code><code>a </code><code>'useradd www'</code>

<code>        </code><code>ansible web </code><code>-</code><code>m shell </code><code>-</code><code>a </code><code>'echo centos | passwd --stdin www'</code>

<code>        </code> 

<code>script:将本地主機的腳本放到遠端主機執行</code>

<code>    </code><code>例:(腳本自己寫)</code>

<code>        </code><code>ansible web </code><code>-</code><code>m script </code><code>-</code><code>a </code><code>'/root/test.sh'</code>

<code>ping:測試遠端主機是否線上</code>

<code>    </code><code>例:ansible web </code><code>-</code><code>m ping</code>

<code>user:使用者管理子產品</code>

<code>    </code><code>常用參數:</code>

<code>        </code><code>name</code><code>=</code>           <code>#指定使用者名(必須指定)</code>

<code>        </code><code>state</code><code>=</code><code>present</code><code>/</code><code>absent    </code><code>#添加/删除使用者</code>

<code>        </code><code>system</code><code>=</code><code>yse</code><code>/</code><code>no       </code><code>#是否建立為系統使用者</code>

<code>        </code><code>uid</code><code>=</code>            <code>#指定使用者uid</code>

<code>        </code><code>shell</code><code>=</code>          <code>#指定使用者shell環境</code>

<code>        </code><code>home</code><code>=</code>           <code>#指定使用者家目錄</code>

<code>        </code><code>group</code><code>=</code>          <code>#指定使用者組</code>

<code>        </code><code>groups</code><code>=</code>         <code>#指定使用者組附加組,以”,“分隔</code>

<code>             </code><code>ansible web </code><code>-</code><code>m user </code><code>-</code><code>a  </code><code>'name=HR state=present system=yes uid=100 groups=root,ntp shell=/bin/csh home=/home/HR_home'</code>

<code>                </code><code>#建立使用者</code>

<code>         </code><code>ansible web </code><code>-</code><code>m user </code><code>-</code><code>a  </code><code>'name=HR state=absent'</code> <code>#删除使用者</code>

<code>group:組管理子產品</code>

<code>        </code><code>gid</code><code>=</code>            <code>#指定組gid</code>

<code>        </code><code>name</code><code>=</code>           <code>#指定組名(必須指定)</code>

<code>        </code><code>state</code><code>=</code><code>present</code><code>/</code><code>absent    </code><code>#添加/删除組</code>

<code>        </code><code>system</code><code>=</code><code>yse</code><code>/</code><code>no       </code><code>#是否建立為系統組</code>

<code>cron:計劃任務管理子產品</code>

<code>    </code><code>name           </code><code>#任務計劃的描述資訊(必須指定)</code>

<code>    </code><code>minute           </code><code>#分(0-59 ,* ,*/2)</code>

<code>    </code><code>hour           </code><code>#時(0-23 ,* ,*/2)</code>

<code>    </code><code>day           </code><code>#日(1-31 ,* ,*/2)</code>

<code>    </code><code>month           </code><code>#月(1-12 ,* ,*/2)</code>

<code>    </code><code>weekday        </code><code>#周(0-6 ,*)</code>

<code>    </code><code>job</code><code>=</code><code>path           </code><code>#執行的指令的絕對路徑</code>

<code>    </code><code>backup</code><code>=</code><code>yes</code><code>/</code><code>no      </code><code>#是否先備份再建立新的任務計劃</code>

<code>    </code><code>user           </code><code>#以哪個使用者建立任務計劃,預設 root</code>

<code>    </code><code>state</code><code>=</code><code>present</code><code>/</code><code>absent    </code><code>#建立删除計劃任務</code>

<code>    </code><code>ansible web </code><code>-</code><code>m cron </code><code>-</code><code>a </code><code>'name=A user=root job="/bin/date &amp;&gt;/dev/null" weekday="*/1" state=present'</code>

<code>copy:檔案分發子產品</code>

<code>        </code><code>src</code><code>=</code><code>path        </code><code>#指定源檔案路徑</code>

<code>        </code><code>dest</code><code>=</code><code>path       </code><code>#指定儲存檔案路徑(必須指定)</code>

<code>        </code><code>mode</code><code>=</code>           <code>#拷貝到遠端主機上的檔案權限</code>

<code>    </code><code>例: </code>

<code>        </code><code>ansible web </code><code>-</code><code>m copy </code><code>-</code><code>a </code><code>'src=/abc dest=/root mode=600'</code>

<code>        </code><code>#注意:拷貝檔案夾是在檔案夾預設加上"/"表示隻拷貝檔案夾裡的内容不拷貝目錄</code>

<code>yum子產品:基于yum源安裝程式</code>

<code>        </code><code>name</code><code>=</code>       <code>#安裝程式名(必須指定)   </code>

<code>        </code><code>state</code><code>=</code>  <code>#present:安裝    latest:安裝最新版    absent:解除安裝 </code>

<code>        </code><code>ansible web </code><code>-</code><code>m yum </code><code>-</code><code>a </code><code>'name=httpd state=latest'</code>  

<code>service子產品:服務管理子產品</code>

<code>        </code><code>name</code><code>=</code>         <code>#服務名稱</code>

<code>        </code><code>state</code><code>=</code><code>stopped</code><code>/</code><code>started</code><code>/</code><code>restarted</code><code>/</code><code>reloaded  </code><code>#停止/啟動/重新開機/重讀配置檔案</code>

<code>        </code><code>enabled</code><code>=</code><code>yes</code><code>/</code><code>no    </code><code>#是否開機自啟動             </code>

<code>setup子產品:系統資訊收集</code>

<code>        </code><code>ansible web </code><code>-</code><code>m setup</code>

<code>       </code> 

本文轉自  紅塵世間  51CTO部落格,原文連結:http://blog.51cto.com/hongchen99/1921695