Ansible的copy模块主要用于将文件从Ansible管理的主机拷贝到远程主机上。其常用参数包括:
- src:用于指定需要拷贝的文件或目录,可以是相对路径或绝对路径。
- dest:用于指定文件将被拷贝到远程主机的哪个目录中,这是一个必须参数。
- content:当不使用src指定拷贝的文件时,可以使用content直接指定文件内容。src与content两个参数必有其一,否则会报错。
- backup:当远程主机的目标路径中已经存在同名文件,并且与Ansible主机中的文件内容不同时,是否对远程主机的文件进行备份。可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将Ansible主机中的文件拷贝到远程主机。
- owner:指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。
使用例子:
- src源文件,dest目标目录,backup=yes若目标存在改文件先备份
ansible web -m copy -a "src=/tmp/61-cf.log dest=/opt/web-cf.log backup=yes"
- 拷贝并修改文件权限
ansible web -m copy -a “src=/tmp/61-cf.log dest=/opt/web-cf.log group=root owner=root mode=600”
- 写数据(覆盖)至目标文件,备份原文件
ansible web -m copy -a "content='努力学习中linux' dest=/opt/web-cf.log backup=yes"