ansible常用模块

本文介绍了Ansible的常用模块,包括ping、command、shell、raw、script、template、yum、copy、group、user和service等。这些模块分别用于主机状态检查、命令执行、脚本运行、模板生成、软件包管理、文件复制、用户和组管理以及服务操作。
摘要由CSDN通过智能技术生成

ansible的常用模块

ansible常用模块有:
ping
yum
template
copy
user
group
service
raw
command
shell
script

ping

主机如果在线,则回复pong

[root@localhost ~]# ansible all -m ping
192.168.111.142 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

command

command模块用于在远程主机上执行命令,ansible默认就是使用command模块。
command模块有一个缺陷就是不能使用管道符和重定向功能。

查看受控主机的家目录
[root@localhost ansible]# ansible all -m command -a 'hostname'
192.168.111.142 | CHANGED | rc=0 >>
localhost.localdomain
[root@localhost ansible]# ansible all -m command -a 'hostname' -o
192.168.111.142 | CHANGED | rc=0 | (stdout) localhost.localdomain
不能用管道符和重定向
[root@localhost ansible]# ansible all -m command -a "df -h|awk '{print $4}'"
192.168.111.142 | FAILED | rc=1 >>
df:无效选项 -- |
Try 'df --help' for more information.non-zero return code

shell

shell模块用于在受控机上执行受控机上的脚本,也可直接在受控机上执行命令。shell模块支持管道与重定向。

查看受控主机的家目录
[root@localhost ansible]# ansible all -m shell -a 'hostname'
192.168.111.142 | CHANGED | rc=0 >>
localhost.localdomain
[root@localhost ansible]# ansible all -m shell -a "df -h|awk '{print $4}'"
192.168.111.142 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.7G   16G   10% /
devtmpfs                 476M     0  476M    0% /dev
tmpfs                    488M     0  488M    0% /dev/shm
tmpfs                    488M  7.7M  480M    2% /run
tmpfs                    488M     0  488M    0% /sys/fs/cgroup
/dev/sdb1               1014M   33M  982M    4% /media
/dev/sda1               1014M  130M  885M   13% /boot
/dev/sdb5                 93M  1.6M   85M    2% /mnt
tmpfs                     98M     0   98M    0% /run/user/0

[root@localhost ~]# vim test.sh
[root@localhost ~]# chmod +x test.sh
[root@localhost ~]# ll
-rwxr-xr-x.  1 root  root       25 7月  17 17:53 test.sh
[root@localhost ~]# cat test.sh
#!/bin/bash

echo "hehe"
[root@localhost ansible]#  ansible all -m shell -a '/bin/bash /root/test.sh &> /tmp/test.log'
192.168.111.142 | CHANGED | rc=0 >>
[root@localhost ~]# ls /tmp/
abc
systemd-private-4ece19a832bd4ecd820bab8b3d2c5398-chronyd.service-A8POzz
systemd-private-5ce3f8ca0f11461a84c634200dbb185d-chronyd.service-9Q39uF
systemd-private-9e048261b1bf45d7bf339b9de9a1b9dc-chronyd.service-JsCiQC
systemd-private-bb2d23be42b7476d881d8fd0516cfe20-chronyd.service-hzXLiw
systemd-private-d3345e8f326a407b9d7dfec38dde3c4e-chronyd.service-PnwINY
test.log
[root@localhost ~]# cat /tmp/test.log
hehe
[root@localhost ~]# /bin/bash /root/test.sh
hehe

raw

raw模块用于在远程主机上执行命令,其支持管道符与重定向

[root@localhost ansible]# ansible all -m raw -a 'hostname'
192.168.111.142 | CHANGED | rc=0 >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值