]# ansible-doc -s ping
- name: Try to connect to host, verify a usable python and return `pong' on success.
action: ping
command模块(默认):在远程主机运行命令
]# ansible-doc -s command
- name: Executes a command on a remote node
action: command
chdir # cd into this directory before running the command
creates # a filename or (since 2.0) glob pattern, when it already exists, this step will
*not* be run.
executable # change the shell used to execute the command. Should be an absolute path to the
executable.
free_form= # the command module takes a free form command to run. There is no parameter
actually named 'free form'. See the examples!
removes # a filename or (since 2.0) glob pattern, when it does not exist, this step will
*not* be run.
warn # if command warnings are on in ansible.cfg, do not warn about this particular
line if set to no/false.
注意:command模块不支持管道
shell模块:远程主机在shell进程下运行命令,支持shell特性,如管道等
例如:
]# ansible all -m shell -a 'echo xin |passwd --stdin user1'
192.168.57.130 | SUCCESS | rc=0 >>
更改用户 user1 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
192.168.57.128 | SUCCESS | rc=0 >>
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
copy模块:把本地文件拷贝到远程主机
例如:
]# ansible all -m copy -a "src=/etc/fstab dest=/tmp/fstab"
192.168.57.128 | SUCCESS => {