Ansible 常用命令匯總,運維自動化必備收藏!
作者:運維李哥
今天這篇文章我們分享一下關于 ansible 的常用命令,下面,我們一起來看。
今天我們來分享一下ansible的常用命令。

1. 基本命令
命令 | 說明 |
ansible --version | 查看 Ansible 版本 |
ansible all -m ping | 測試所有主機連通性 |
ansible <主機組> -m ping
| Ping 指定主機組 |
ansible webservers -m command -a "uptime"
| 在目標主機上執行 shell 命令 |
ansible all -i <ip>, -m ping
| 臨時執行命令(逗號不能省) |
2. 主機清單
命令 | 說明 |
ansible-inventory --list
| 顯示當前 inventory 的主機列表(JSON 格式) |
ansible-inventory --graph
| 圖形化顯示主機組結構 |
ansible-inventory -i <inventory文件> --list
| 使用指定 inventory 文件顯示主機列表 |
|
|
3. 模塊使用(常用模塊)
命令 | 說明 |
-m ping
| 測試連通性 |
-m shell -a "<命令>"
| 使用 shell 模塊執行命令 |
-m command -a "<命令>"
| 使用 command 模塊(不支持管道、重定向等) |
-m copy -a "src=/etc/hosts dest=/tmp/hosts"
| 復制文件到遠程主機 |
-m fetch -a "src=/var/log/messages dest=/tmp"
| 從遠程主機拉取文件 |
-m file -a "path=/tmp/test state=touch"
| 創建空文件 |
-m file -a "path=/tmp/test state=absent"
| 刪除文件 |
-m yum -a "name=httpd state=present"
| 安裝軟件包 |
-m service -a "name=httpd state=started enabled=true"
| 啟動并設置服務開機自啟 |
-m user -a "name=testuser state=present"
| 創建用戶 |
-m group -a "name=testgroup state=present"
| 創建用戶組 |
4. Playbook 相關
命令 | 說明 |
ansible-playbook site.yml
| 執行 playbook |
ansible-playbook -i hosts site.yml
| 指定 hosts 文件執行 |
ansible-playbook --check site.yml
| 模擬執行(不會真正更改) |
ansible-playbook --syntax-check site.yml
| 語法檢查 |
ansible-playbook -v/-vv/-vvv
| 增加詳細日志輸出 |
ansible-playbook site.yml --start-at-task="task名"
| 從指定任務開始執行 |
5. 密鑰與權限
命令 | 說明 |
ansible all -m ping -u root
| 指定用戶執行 |
ansible all -m ping -u root --ask-pass
| 提示輸入 SSH 密碼 |
ansible-playbook site.yml -K
| 提示 sudo 密碼 |
ansible-playbook site.yml --ask-vault-pass
| 提示輸入加密變量密碼 |
6. Vault(敏感信息加密)
命令 | 說明 |
ansible-vault create secret.yml
| 創建加密文件 |
ansible-vault edit secret.yml
| 編輯加密文件 |
ansible-vault view secret.yml
| 查看加密文件 |
ansible-vault encrypt file.yml
| 加密文件 |
ansible-vault decrypt file.yml
| 解密文件 |
ansible-playbook playbook.yml --vault-password-file ~/.vault_pass.txt
| 從文件中讀取密碼 |
ansible-playbook playbook.yml --ask-vault-pass
| 運行 playbook 時詢問密碼 |
7. 實用技巧
命令 | 說明 |
ansible-doc -l
| 查看所有模塊 |
ansible-doc <模塊名>
| 查看指定模塊說明 |
ansible-doc -s copy
| 顯示模塊參數結構(推薦) |
ansible-playbook --tags "install"
| 執行指定標簽的任務 |
ansible-playbook --skip-tags "install"
| 跳過指定標簽的任務 |
ansible-playbook -e "var1=value1"
| -e :臨時傳入變量 |

分享到微信
分享到微博