ansible copy 模块的使用


copy

  

   copy 模块是将 ansible 管理主机上的文件拷贝上远程主机中,与 fetch 相反,若是目标路径不存在,则自动建立,若是 src 的目录带“/” 则
复制该目录下的全部东西,若是 src 的目录不带“/”则连同该目录一块儿复制到目标路径;
经常使用模块
src参数 :用于指定须要copy的文件或目录。
[root@controller home]# ansible test2 -m copy -a "src=/home/kkk dest=/home/"
172.20.10.8 | SUCCESS => {
    "changed": true,
dest参数 :用于指定文件将被拷贝到远程主机的哪一个目录中,dest为必须参数,若是有同名文件直接覆盖目标同名文件
content参数 :当不使用src指定拷贝的文件时,能够使用content直接往目标文件内指定文件内容,src与content两个参数必有其一,不然会报错。若是目标文件有内容,则直接覆盖,
[root@localhost home]# cat kkk 
234
fkdsh
[root@controller home]# ansible test -m copy -a 'content="ni\nda\nye\n" dest=/home/kkk'
[root@localhost home]# cat kkk 
ni
da
yee

force参数 : 当远程主机的目标路径中已经存在同名文件,而且与ansible主机中的文件内容不一样时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,若是设置为no,则不会执行覆盖拷贝操做,远程主机中的文件保持不变。
[root@controller home]# ansible test2 -m copy -a "src=/home/ dest=/home/ force=no"
backup参数 : 当远程主机的目标路径中已经存在同名文件,而且与ansible主机中的文件内容不一样时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,而后再将ansible主机中的文件拷贝到远程主机。以当前时间为后缀,若是为no时,直接覆盖目标同名文件,默认为NO
[root@controller home]# ansible test -m copy -a "backup=yes src=/home/kkk dest=/home/"
owner参数 : 指定文件拷贝到远程主机后的属主,可是远程主机上必须有对应的用户,不然会报错。
group参数 : 指定文件拷贝到远程主机后的属组,可是远程主机上必须有对应的组,不然会报错。
mode参数 : 指定文件拷贝到远程主机后的权限,若是你想将权限设置为”rw-r--r--“,则能够使用mode=0644表示,若是你想要在user对应的权限位上添加执行权限,则能够使用mode=u+x表示。
[root@controller home]# ansible test -m copy -a "src=/home/kkk  dest=/home/ mode=644"
相关文章
相关标签/搜索