Ansible 常用命令模块
ping模块
测试指定主机网络是否通讯
尝试连接到主机,验证一个可用的python并返回成功“pong”
[root@linux-node1 ~]# ansible 192.168.0.111 -m ping
192.168.0.111 | SUCCESS => {
"changed": false,
"ping": "pong"
}
shell模块
在目标主机执行shell命令
在远程主机上运行命令,支持管道、变量等在使用复制命令时使用。
chdir: # 在运行命令之前cd到这个目录
creates: # 一个文件名,当该文件存在,则该命令不执行
executable: # 切换shell来执行指令,该执行路径必须是一个绝对路径
free_form: # 要执行的linux指令
removes: # 一个文件名,当该文件不存在,则该选项不执行
stdin: # Set the stdin of the command directly to the specified value.
warn: # if command warnings are on in ansible.cfg, do not warn about this particular
line if set to no/false.
[root@linux-node1 ~]# ansible abc -m shell -a 'echo 111111 |passwd --stdin root'
192.168.1.81 | SUCCESS | rc=0 >>
Changing password for user root.
passwd: all authentication tokens updated successfully.
abc 为主机组的名字,也可以写一个ip,针对一台机器来执行命令
-m 后面是模块的名字
-a 后面是要执行的命令
copy复制模块
批量执行复制文件
src=/etc/passwd #源文件#被复制到远程主机的本地文件,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将递归复制。
在这种情况下,如果路径使用“/”来结尾,则只复制目录里的内容,如果没有使用“/”来结尾,则包含目录在内的整个内容全部复制,类似于rsync
dest=/tmp/oldgirl.txt #目标文件#必选项,要将源文件复制到的远程主机的绝对路径,如果源文件是一个目录,那么该路径也必须是个目录
owner=syaving #属主
group=syaving #属组
mode=0755 # 权限
backup #在覆盖之前,将源文件备份,备份文件包含时间信息。
content #用于替代“src”,可以直接设定指定文件的值
directory_mode #递归设定目录的权限,默认为系统默认权限
others #所有的file模块里的选项都可以在这里使用
dest #必选项,要将源文件复制到的远程主机的绝对路径,如果源文件是一个目录,那么该路径也必须是个目录
force 如果目标主机包含该文件,但内容不同,设置为yes,则强制覆盖,设置为no,则只有当目标主机的目标位置不存在该文件时,才复制;默认为yes
[root@linux-node1 ~]# ansible 192.168.0.111 -m copy -a "src=/etc/hosts dest=/tmp/hosts"
192.168.0.111 | SUCCESS => {
"changed": true,
"checksum": "7335999eb54c15c67566186bdfc46f64e0d5a1aa",
"dest": "/tmp/hosts",
"gid": 0,
"group": "root",
"md5sum": "54fb6627dbaa37721048e4549db3224d",
"mode": "0644",
"owner": "root",
"size": 158,
"src": "/root/.ansible/tmp/ansible-tmp-1519783116.87-44612646925688/source",
"state": "file",
"uid": 0
}
script 脚本模块
将本地脚步复制到远程主机上并运行(注意本地主机脚步路径使用相对路劲)
script模块用于控制远程主机执行脚本。
在执行脚本前,ansible会将本地脚本传输到远程主机,然后再执行。在执行脚本的时候,其采用的是远程主机上的shell环境。
在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)
[root@linux-node1 ~]# ansible abc -m script -a "test.sh"

浙公网安备 33010602011771号