ansible-doc -l |grep 模块名 //模块搜索
ansible-doc 模块名 =============> /EXAMPLE //查看帮助
1.command模块: 远程执行命令
ansible 主机集合 -m(模块) command -a(命令) '远程命令'
2.shell模块:同于command模块 ,但shell模块是通过/bin/sh执行命令的,可以执行任意的命令
eg:
ansible webs -m shell -a 'echo ${HOSTNAME}' //取消本地的结果输出,直接在ansible远程主机上执行echo ${HOSTNAME}
ansible webs -m shell -a "echo ${HOSTNAME}" //在本机事先执行echo ${HOSTNAME},再输出到远程的ansible被管理主机上
3.yum模块
ansible 主机或主机集合 -m yum -a 'name=软件包名 state=状态'
installed \removed
4.service模块
ansible 主机或主机集合 -m service -a ''name=服务名 enabled=yes\no state=状态’
开机是否自启 state: started stopped restarted reloaded
5.copy模块:同于rsync 中的/ //只能拷贝文件
/opt/test/ /mnt 把/opt/test/下的内容拷贝到/mnt下
/opt/test /mnt 把/opt下的test拷贝到/mnt下
ansible 主机或主机集合 -m copy -a 'src=本地文件 dest=ansible远程主机文件路径'
6.lineinfile模块 : 类似于sed中的s(替换)
ansible 主机或主机集合 -m lineinfile -a
'path=要修改的文件 "/etc/my.cnf"
regexp="正则表达式 " "^binlog_format"
line="替换的新值 " ' "binlog_format=row"
7.replace模块 修改匹配的字段
ansible 主机或主机集合 -m replace -a
'path=修改文件 "/etc/my.cnf"
regexp=正则表达式 "row"
replace=替换的新值' "mixed"