ansible模块命令
ping模块 测试与受控主机连通性
ansible all -m ping
ansible 192.168.99.86 -m ping
command模块 用于在远程主机上执行linux命令
ansible 192.168.99.86 -a ‘ls /tmp’
ansible 192.168.99.86 -a ‘touch /tmp/test.sh’
shell模块 用于在受控主机上执行受控主机上的脚本,也可以直接在受控主机上执行命令
受控主机上有脚本:
cat /tmp/test.sh
#!/bin/bash
for i in $(seq 10):
do
echo $i
done
ansible 192.168.99.86 -m shell -a ‘/bin/bash /tmp/test.sh’
script模块 用于在受控机上执行主控主机上的脚本
主控主机上有脚本t.sh脚本,执行下面命令把结果输出到受控主机的/tmp/users文件中
ansible 192.168.99.86 -m script -a ‘/home/zsh/t.sh &> /tmp/users’
template模块 用于生成一个模块,并将其传输到受控主机上
ansible 192.168.99.86 -m template -a ‘’
yum模块 用于在指定节点机器上通过yum管理软件,其支持的参数主要有两个
name:要管理的包名
state:要执行的操作
state常用的值:
latest:安装软件
installd:安装软件
present :安装软件
removed:卸载软件
absent:卸载软件
在ansible主机上使用yum模块在受控机上安装vsftpd
ansible 192.168.99.86 -m yum -a ‘name=vsftpd state=present‘
copy模块 用于复制文件至远程受控机
ansible 192.168.99.86 -m copy -a ‘src=/home/zsh/t.sh dest=/tmp/’
group模块 用于受控主机上添加或删除组
在受控主机上添加一个系统组,gid为306,组名为mysql
ansible 192.168.99.86 -m group -a ‘name=mysql gid=306 state=present’
删除受控主机上的mysql组
ansible 192.168.99.86 -m group -a ‘name=mysql gid=306 state=absent’
user模块 用于管理受控主机上的用户账户在受控主机上添加一个系统用户
添加用户名为mysql,uid为306,设置其shell为/sbin/nologin
ansible 192.168.99.86 -m user -a ‘name=mysql uid=306 system=yes create_home=no shell=/sbin/nologin state=present’
ansible 192.168.99.86 -m shell -a ‘grep mysql /etc/passwd’
修改mysql用户的uid为366
ansible 192.168.99.86 -m user -a ‘name=mysql uid=366‘
serviceservice模块 用于管理受控机上的服务
查看受控机上的vsftpd服务是否启动
ansible 192.168.99.86 -a ‘systemctl is-active vsftpd’
启动 受控机上的vsftpd服务
ansible 192.168.99.86 -m service -a ‘name=vsftpd state=started’
查看受控机上的vsftpd服务是否开机自动启动
ansible 192.168.99.86 -m shell -a ‘systemctl is-enabled vsftpd’
停止受控机上的vsftpd服务
ansible 192.168.99.86 -m service -a ‘name=vsftpd state=stopped’
corn模块 用于计划任务
每隔10分钟同步一次时间
ansible web -m cron -a ‘name=“sync time from ntpserver” minute=*/10 job="/usr/sbin/ntpdate 3.cn.pool.ntp.org"’