ansible官方网站: https://docs.ansible.com
模快的应用
ansible 主机名称/主机租名称/主机地址信息/all -m (指定应用的模块信息) -a(指定动作信息)
模块: command(默认模块)
command – Execute commands on targets
在一个远程主机上执行一个命令
简单用法:
[root@ansible ~]# ansible 172.16.210.53 -m command -a "hostname"
172.16.210.53 | CHANGED | rc=0 >>
web01
扩展应用(shell scirpt同用):
1)chdir
Change into this directory before running the command
在执行命令之前对目录进行切换
ansible 172.16.210.53 -m command -a "chdir=/tmp touch czq.txt"
2)creates
If it already exists, this step won't be run
如果文件存在了,不执行操作
ansible 172.16.210.53 -m command -a "creates=/etc/hosts touch czq.txt"
3)removes If it already exists, this step will be run.
如果文件存在了,执行操作
ansible 172.16.210.53 -m command -a "removes=/etc/hosts chdir=/tmp touch czq.txt"
4)free_form(required)
The command module takes a free form command to run.There is no actual parameter named 'free form'.
使用command模块的时候,-a参数后面必须写上一个合法linux命令
注意事项:
变量$
还有有些符号无法识别 "<"
, ">"
, "|"
, ";"
and "&"
,如用要用变量和这些符号,请用shell模块
模块: shell(万能模块)
shell – Execute shell commands on targets
在节点上执行操作
ansible 172.16.210.53 -m shell -a "echo 123 > /etc/hosts.bak"
模块: script(万能模块)
Runs a local script on a remote node after transferring it 本地的脚本在远程执行
ansible 172.16.210.53 -m script -a "/server/script/yum.sh"
网友评论