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 :临时传入变量

阅读剩余
THE END