ansible 远程目录拷贝

copy模块

远程拷贝文件和目录

格式:

ansible <host> -m copy -a "src=/path/ dest=/path/ <owner=root> <group=root> <mode=0755>"
  • src :服务端源文件|目录路径

  • dest :客户端目标文件|目录路径

  • owner(可选):目标文件所属用户

  • group(可选):目标文件所属用户组

  • mode(可选):目标文件权限

[root@localhost ~]# ansible 192.168.127.129 -m copy -a "src=/etc/passwd dest=/tmp/123.txt owner=nobody group=root mode=0600"
192.168.127.129 | SUCCESS => {
    "changed": true, 
    "checksum": "612a2fc0adc9039c26d249dcb55ce973ba40edaa", 
    "dest": "/tmp/123.txt", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "02115ff2a990c1651504a1495fc41145", 
    "mode": "0600", 
    "owner": "nobody", 
    "size": 909, 
    "src": "/root/.ansible/tmp/ansible-tmp-1537967679.72-211199974798374/source", 
    "state": "file", 
    "uid": 99
}

注意:源目录会放到目标目录下面去,如果目标指定的目录不存在,它会自动创建。如果拷贝的是文件,dest指定的名字和源如果不同,并且它不是已经存在的目录,相当于拷贝过去后又重命名。但相反,如果dest是目标机器上已经存在的目录,则会直接把文件拷贝到该目录下面。

ansible testhost -m copy -a "src=/etc/passwd dest=/tmp/123"

# 这里的/tmp/123和源机器上的/etc/passwd是一致的,但如果目标机器上已经有/tmp/123目录,则会再/tmp/123目录下面建立passwd文件

最后更新于

这有帮助吗?