Ansible ad-hoc
什么是ad-hoc
·ad-hoc指的是临时指令:临时命令,执行完毕后就结束了,不会保存
| 主命令 | 主机名称 | 指定模块 | 模块 | 动作 | 命令 |
|---|---|---|---|---|---|
| ansible | all(所有主机)\主机组\IP | -m(固定参数) | ping | -a | df-h |
主机名称:可以自定义指定单个主机、主机组或者是所有被动端
模块:各种模块功能,可以自己更改
命令:在被控端执行linux命令
ad-hoc执行过程
。加载配置文件:/etc/ansible/ansible.cfg
。查找对应的主机配置文件
。加载对应的功能模块文件,比如:ping
。通过ansible将模块生成对应的文件:.py(python格式的文件);把文件传输给被控端:$HOME/.ansible/tmp/ansible-tmp-number/**.py
。然后给.py文件添加执行权限
。然后执行,返回结果
。删除.py的临时文件
。退出
ad-hoc的执行状态
[root@ansible ~]# ansible all -m shell -a 'ls /opt'
192.168.92.20 | CHANGED | rc=0 >>
[root@ansible ~]# ansible all -m shell -a 'ls /0'
192.168.92.20 | FAILED | rc=2 >>
ls: cannot access '/0': No such file or directorynon-zero return code

·绿色:代表被控主机没有发生改变
·黄色:代表被控主机发生了变动(于当前执行的时候不同)
·红色:代表被控主机发生了故障