使用copy 模块,将/ichn/test.txt文件传输到各个服务器,权限修改为666 属主属组为ichn
[root@m01 ichn]#ansible all -m copy -a "src=http://www.likecs.com/ichn/test.txt dest=http://www.likecs.com/backup mode=666 owner=ichn group=ichn"检查结果
[root@m01 ichn]#ansible all -m shell -a "ls -l /backup/test.txt" 172.16.1.41 | CHANGED | rc=0 >> -rw-rw-rw- 1 ichn ichn 0 Jul 20 14:48 /backup/test.txt 172.16.1.31 | CHANGED | rc=0 >> -rw-rw-rw- 1 ichn ichn 0 Jul 24 11:05 /backup/test.txtansible all -m copy -a "src=http://www.likecs.com/ichn/ =http://www.likecs.com/backup mode=666 owner=ichn group=ichn"
ansible all -m copy -a "src=http://www.likecs.com/ichn dest=http://www.likecs.com/backup mode=666 owner=ichn group=ichn"
说明: 复制目录是遵循rsync复制目录原理 目录后面有/ 和 没有/有区别
实现数据备份
批量备份:
ansible nfs -m copy -a "src=http://www.likecs.com/backup/ichn.txt dest=http://www.likecs.com/backup/ichn.txt.bak remote_src=yes"批量还原:
生成一个有数据的文件
ansible nfs_client -m copy -a "content="ichn123" dest=http://www.likecs.com/etc/rsync.password mode=600" 3.5 fetch模块 拉取数据操作参数:
dest 将远程主机拉取过来的文件保存在本地的路径信息src 指定从远程主机要拉取的文件信息,只能拉取文件
flat 默认设置为no,如果设置为yes,将不显示172.16.1.41/etc/信息
参数演示:dest,src
[root@m01 tmp]#ansible 172.16.1.41 -m fetch -a "src=http://www.likecs.com/etc/hosts dest=http://www.likecs.com/tmp" [root@m01 tmp]#ll total 0 drwxr-xr-x 3 root root 17 Jul 24 21:27 172.16.1.41 drwx------ 2 root root 6 Jul 23 08:20 vmware-rootflat=yes
[root@m01 tmp]#ansible 172.16.1.41 -m fetch -a "src=http://www.likecs.com/etc/hosts dest=http://www.likecs.com/tmp/ flat=yes" [root@m01 tmp]#ls hosts vmware-root 3.6 file模块 修改远程主机数据属性,创建和删除远程主机数据信息参数:
path 指定远程主机上已有的一个文件数据mode 修改数据权限数值
owner 修改属主
group 修改属组
src 指定要创建软链接的文件信息
recurse recurse=yes 将目录及目录里文件的权限递归修改 recurse=no 不递归
state state=directory 创建目录,可以递归创建目录
state=touch 创建文件:如果路径不存在将创建一个空文件
state=link 创建软链接
state=hard 创建硬链接
state=absent 删除数据
state=file 检查文件是否存在
参数演示:mode owner group
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/test.txt mode=666 owner=ichn group=ichn" [root@backup tmp]#ll -d test.txt -rw-rw-rw- 1 ichn ichn 7 Jul 24 10:07 test.txtstate=directory:创建目录
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/yang state=directory" [root@backup tmp]#ll total 8 drwxr-xr-x 2 root root 6 Jul 24 21:52 yang递归创建目录
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/yang/yang1/yang2 state=directory" [root@backup tmp]#tree yang yang └── yang1 └── yang2 2 directories, 0 filesstate=touch:创建文件,如果路径不存在将创建一个空文件
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/ceshi.txt state=touch"state=link:创建软链接
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "src=http://www.likecs.com/tmp/test.txt path=http://www.likecs.com/backup/test_soft_link.txt state=link"state=hard:创建硬链接
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "src=http://www.likecs.com/tmp/test.txt path=http://www.likecs.com/backup/test_hard_link.txt state=hard"state=absent:删除数据操作
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/backup/test_hard_link.txt state=absent"state=file:检查文件是否存在
[root@m01 tmp]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/ceshi.txt state=file"recurse=yes:递归修改权限
[root@m01 ~]#ansible 172.16.1.41 -m file -a "path=http://www.likecs.com/tmp/yang/ mode=700 owner=ichn group=ichn recurse=yes" 3.7 yum模块 批量安装软件模块