Ansible Ad-Hoc命令

  • -a:傳入模塊的參數,不一樣的模塊要傳入的參數不一樣
  • -B SECOND:當任務放到後臺執行異步任務,設置程序運行的超時時間,傳入的是一個數值,單位秒
  • -C:測試該任務可否正常運行,不對被管理主機作出任何影響
  • -D:對比模板文件是否改變,若是有改變就顯示出哪裏發生了變化
  • -e EXTRA_VARS:添加額外的變量,在單用戶模式用的比較少,通常在json和yaml文件中使用
  • -f:設置併發執行進程數
  • -i:指定inventory主機清單文件
  • -l:限制執行的主機組或者主機
  • --list-hosts:打印出該任務執行會影響到的主機列表,不執行該任務
  • -m:指定ansible命令調用的模塊的名字
  • -M MOUDLE_PATH:指定模塊庫文件的存放路徑
  • -P:當程序在後臺運行的時候設置定時檢查,每隔一段時間去檢查任務執行狀態,單位秒
  • -t:指定日誌輸出路徑
  • -v:查看任務執行的詳細輸出,至關於debug調試
  • -k:在運行任務以前提示用戶輸入密碼
  • --private_key:指定私鑰文件
  • -u:指定遠程鏈接執行任務的用戶
  • -c:指定鏈接方式,默認smart
  • -T TIMEOUT:設置超時時間
  • -s:經過sudo來執行任務
  • -U:設置sudo用戶
  • -S:使用--su來執行
  • -R:指定--su的用戶
  • -b:run operations with become(does not imply password prompting)運行操做成爲(不暗示密碼提示)

注:-a參數後的命令用單引號,單引號,單引號;雙引號有可能會出問題,特別是在user模塊;json

異步執行

ansible all -m ping -B 3600 -P 0

172.16.1.11 | SUCCESS => {
    "ansible_job_id": "827931270385.17901", 
    "changed": true, 
    "finished": 0, 
    "results_file": "/root/.ansible_async/827931270385.17901", 
    "started": 1
}
172.16.1.10 | SUCCESS => {
    "ansible_job_id": "253754505233.18739", 
    "changed": true, 
    "finished": 0, 
    "results_file": "/root/.ansible_async/253754505233.18739", 
    "started": 1
}

  當Ansible後臺執行程序的時候會給咱們一個ansible_job_id,以便咱們隨時能夠去查看程序執行的狀態:併發

ansible all -m async_status -a "jid='253754505233.18739'"

172.16.1.10 | SUCCESS => {
    "ansible_job_id": "253754505233.18739", 
    "changed": false, 
    "finished": 1, 
    "ping": "pong"
}
相關文章
相關標籤/搜索