1. 程式人生 > >ansible命令詳解

ansible命令詳解

哪些 for 匹配 登錄密碼 參數 默認 ansi markdown usr

查看ansible版本

import ansible
print(ansible.__version__)

命令參數

  • -m:要執行的模塊,默認為command
  • -a:模塊的參數
  • -u:ssh連接的用戶名,默認用root,ansible.cfg中可以配置
  • -k:提示輸入ssh登錄密碼,當使用密碼驗證的時候用
  • -s:sudo運行
  • -U:sudo到哪個用戶,默認為root
  • -K:提示輸入sudo密碼,當不是NOPASSWD模式時使用
  • -C:只是測試一下會改變什麽內容,不會真正去執行
  • -c:連接類型(default=smart)
  • -f:fork多少進程並發處理,默認為5個
  • -i:指定hosts文件路徑,默認default=/etc/ansible/hosts
  • -I:指定pattern,對已匹配的主機中再過濾一次
  • --list-host:只打印有哪些主機會執行這個命令,不會實際執行
  • -M:要執行的模塊路徑,默認為/usr/share/ansible
  • -o:壓縮輸出,摘要輸出
  • --private-key:私鑰路徑
  • -T:ssh連接超時時間,默認是10秒
  • -t:日誌輸出到該目錄,日誌文件名以主機命名
  • -v:顯示詳細日誌

舉兩個例子

// 默認使用command模塊
ansible all -a "ls"
// 列出將執行該命令的主機
ansible all -a "ls" --list-hosts

指定執行機器

單個機器

// 指定192.168.1/24段的所有機器
ansible 192.168.1.* -m ping
// 指定one two兩臺機器
ansible one.example.com:two.example.com -m ping

使用分組過濾

// 指定A組
A
// 指定A和B兩個組
A:B
// 指定在A組但不在B組
A:!B
// 制定同時在A組和B組
A:&B

使用分組過濾時,遵循從左到右依次匹配,逐級過濾。

ansible命令詳解