查看 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
使用分组过滤时, 遵循从左到右依次匹配, 逐级过滤
来源: http://www.bubuko.com/infodetail-2532548.html