Ansible copy-如果dest目录以带或不带结尾,有什么区别吗/
我正在进行ansible远程复制,对dest有一个问题,如果dest以/结尾,有什么区别吗Ansible copy-如果dest目录以带或不带结尾,有什么区别吗/,ansible,copy,Ansible,Copy,我正在进行ansible远程复制,对dest有一个问题,如果dest以/结尾,有什么区别吗 目的地:/tmp/dest 目的地:/tmp/dest/ 我试过带/和不带/的,看起来他们两个都复制了 - name: copy the properties file to dest copy: src: /tmp/src/{{ item }} dest: /tmp/dest remote_src: yes with_ite
- name: copy the properties file to dest
copy:
src: /tmp/src/{{ item }}
dest: /tmp/dest
remote_src: yes
with_items:
- runtime.properties
- default.properties
如果要复制目录,则目标路径是否以
/
结尾并不重要。在这两种情况下,Ansible首先确保目标目录存在,然后将源目录复制到目标目录中。也就是说,如果:
- copy:
src: src_dir
dest: /tmp/dest/
或:
在这两种情况下,如果不存在,Ansible将首先创建/tmp/dest
,然后创建/tmp/dest/src_dir
,并用src_dir
的内容填充它
但是,如果要复制一个文件,情况会有所不同。如果目标目标/tmp/dest
不存在,此剧本将创建一个名为/tmp/dest
的文件:
- copy:
src: src_file
dest: /tmp/dest
但是,如果向目标添加一个尾随路径,Ansible将首先创建目录/tmp/dest
,然后创建文件/tmp/dest/src\u文件
- copy:
src: src_file
dest: /tmp/dest/
如果名为
/tmp/dest
的目录已存在,则上述两个示例将执行相同的操作(创建/tmp/dest/src_文件
)。非常感谢您的详细解释!!但是,还有一个关于复制文件覆盖的问题/tmp/dest已经存在,我想将file1复制到dest,如果file1已经存在于/tmp/dest中,那么覆盖它。我已经给出了force:是的,对于dest,我应该使用/tmp/dest还是/tmp/dest/<代码>-复制:src:src_dir dest:/tmp/dest/#dest:/tmp/dest force:yes/tmp/dest/
--带尾随斜杠--始终指目录。如果目标是文件,则不会使用尾随斜杠。
- copy:
src: src_file
dest: /tmp/dest/