1.ping模块
[root@marter lamp]# ansible all -m ping
192.168.47.130 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
192.168.47.159 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
192.168.47.129 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
2.command模块
#command不支持管道符和重定向功能
[root@marter ~]# ansible all -m command -a 'ls'
192.168.47.159 | CHANGED | rc=0 >>
公共
模板
视频
图片
文档
下载
音乐
桌面
anaconda-ks.cfg
centos-linux-release-8.3-1.2011.el8.noarch.rpm
initial-setup-ks.cfg
zy.sh
3.raw模块
#raw模块用于在受管主机上执行命令,支持管道符和重定向功能
[root@marter ~]# ansible all -m raw -a 'echo "123" > /root/abc'
192.168.47.159 | CHANGED | rc=0 >>
Shared connection to 192.168.47.159 closed.
[root@marter ~]# ansible all -m raw -a 'ls /root |grep abc'
192.168.47.159 | CHANGED | rc=0 >>
abc
Shared connection to 192.168.47.159 closed.
4.shell模块
shell模块可以在受管主机上执行受管主机上的脚本,也可以直接在受管主机上执行命令
shell模块支持管道符与重定向
[root@marter ~]# ansible all -m shell -a 'ls /opt'
192.168.47.159 | CHANGED | rc=0 >>
123.sh
[root@marter ~]# ansible all -m shell -a "bash /opt/123.sh"
192.168.47.159 | CHANGED | rc=0 >>
helo word
4.1 command、raw、shell模块的区别
三者均不具备幂等性,如果有可以替代的模块尽量不要使用这三个模块
模块 | 用途 | 特点 |
---|---|---|
command | 均用于执行shell模块 | command不可以使用环境变量,也支持变量操作符,相对shell安全一些 |
raw | 均用于执行shell模块 | 被执行机器上没安装python环境也可以执行,直接使用shell |
shell | 均用于执行shell模块 | 可以使用环境变量,也可使用管道符和重定向 |
5.script模块
script模块用于在受管主机上执行ansible主机上的脚本,也就是说脚本一直存在ansible主机本地,不需要手动拷贝到受管主机上去执行
[root@marter ~]# cat /root/abc.sh
#!/bin/bash
df -h
[root@marter ~]# ansible all -m script -a "/root/abc.sh"
192.168.47.159 | CHANGED => {
"changed": true,
"rc": 0,
"stderr": "Shared connection to 192.168.47.159 closed.\r\n",
"stderr_lines": [
"Shared connection to 192.168.47.159 closed."
],
"stdout": "文件系统 容量 已用 可用 已用% 挂载点\r\ndevtmpfs 1.9G 0 1.9G 0% /dev\r\ntmpfs 1.9G 0 1.9G 0% /dev/shm\r\ntmpfs 1.9G 9.6M 1.9G 1% /run\r\ntmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup\r\n/dev/mapper/rhel-root 17G 4.6G 13G 27% /\r\n/dev/sr0 7.9G 7.9G 0 100% /mnt/zy\r\n/dev/nvme0n1p1 1014M 229M 786M 23% /boot\r\ntmpfs 376M 1.2M 375M 1% /run/user/42\r\ntmpfs 376M 4.0K 376M 1% /run/user/0\r\n"