1. ansible的一种模式Ad-Hoc
ansible是一个能够在远程主机上批量执行命令或者脚本的一个工具
Ad-Hoc是ansible的一种模式
2. ansible的安装
yum install -y ansible
3. 命令格式
ansible <host-pattern> [options]
4. host-pattern主机组
主机组的配置文件在/etc/ansible/hosts
- 单个的的ip地址
- 多个ip地址, 用逗号分割
- 单个组
- 多个组
- 并集: web, db 或 "web: db"
- 交集: "web: &db"
- 差集: "web: !db"
- 全部: all
5. options参数
-m modulename # 使用的模块名 -a args # 模块的参数 -f fork # 并发的线程数, 默认5个 -C # 干跑
6. 管控主机, 连接被管控主机
- 管控主机, 生成密钥
ssh-keygen
- 复制到被管控主机
ssh-copy-id username@ip
7. ansible-doc 查看文档
ansible-doc -s modulename 查看模块的参数
二. 关于命令和脚本的模块
1. command模块
在远程主机上执行命令, 不支持 <>|&$; 一些特殊符号
1. 参数 chdir 切换目录 creates 存在就不执行后面命令, 反之则执行 removes 存在就执行后面命令, 反之则不执行 2. 实例 ansible web -m command -a "pwd" # 执行pwd命令 ansible web -m command -a "chdir=/tmp pwd" # chdir参数是切换目录 ansible web -m command -a "creates=/tmp pwd" # creates=/tmp 有这个文件就是false,后面的不执行,没有就是true,后面执行 ansible web -m command -a "removes=/tmp pwd" # 有就是true,没有就是false