1)主机连通性测试
我们使用ansible web -m ping命令来进行主机连通性测试,效果如下:
2)command 模块
这个模块可以直接在远程主机上执行命令,并将结果返回本主机。
举例如下:
Command :在远程主机执行命令,默认模块,可忽略-m选项
➢ansible srvs -m command -a ‘service vsftpd start’
➢ansible srvs -m command a 'echo magedu Ipasswd --stdin wang’不成功
➢此命令不支持$VARNAME< > | ;& 等,需要用shell模块实现
下面来看一看该模块下常用的几个命令:
chdir # 在执行命令之前,先切换到该目录
creates # 一个文件名,当这个文件存在,则该命令不执行,可以
用来做判断
removes # 一个文件名,这个文件不存在,则该命令不执行
举例:
[root@ansible ~]# ansible all -m command -a 'chdir=/data/ ls' #先切换到/data/ 目录,再执行“ls”命令
[root@ansible ~]# ansible all -a 'creates=/data/xixi ls'
#如果/data/xixi存在,则不执行“ls”命令
[root@ansible ~]# ansible all -a 'removes=/data/haha ls'
#如果/data/haha不存在,则不执行“cat /data/a”命令
3)shell 模块
shell模块可以在远程主机上调用shell解释器运行命令,支持shell的各种功能,例如管道等。
4)copy 模块
这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。
其相关选项如下:
src#被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径
dest#必选项,将源文件复制到的远程主机的绝对路径
backup#当文件内容发生改变后,在覆盖之前把源文件备份,备份文件包含时间信息
content#用于替换"src",可以直接指定文件的值
directory_mode#递归设定目录的权限,默认为系统默认权限
force#当目标主机包含该文件,但内容不同时ÿ