实例演示:
copy模块:
当需要将一些文件或者配置文件模板批量发布到其他远程主机指定位置,ansible提供了copy模块,可以进行批量发布
[root@centos7 ~]# ansible-doc -s copy //查看帮助文档
里面参数可以指定源(src),目标(dest),是否备份(backup)等等
主控端:
[root@centos7 ~]# ansible all -m copy -a’src=/root/test dest=/mnt’
源 目标
源和目标必须存在
被控端验证是否已经拷贝过来:
fetch模块:跟copy模块相反,是抓取被控端主机的文件至服务端,注意源只能是普通文件不能是目录文件,而且只能是一个已经存在的文件,可以通过ansible-doc查看
通过tree查看更明显
如果想要抓取客户端某目录下多个文件时,可以将文件进行打包,打包成一个再利用fetch进行抓取
file模块:
设置文件属性
ansible-doc -s file
file表示普通文件,directory表示目录文件,link表示软连接(指定源和目标),hard表示硬链接文件
创建普通文件
还有别名可以为name、path、dest
[root@centos7 ~]# ansible all -m file -a ‘name=/var/file2 state=touch’
也可以删除创建的文件,使用absent(缺席)来删除创建的文件
[root@centos7 ~]# ansible all -m file -a ‘path=/var/file3 state=absent’
创建目录文件:
[root@centos7 ~]# ansible all -m file -a ‘path=/var/dir1 state=directory’