我有一个目录:
/users/rolando/myfile
我想将“myfile”复制到目录中的主机名“targetserver”:
/home/rolando/myfile
剧本中执行此操作的语法是什么?我使用
copy
命令找到的示例看起来更多的是关于将文件从远程服务器上的源目录复制到同一远程服务器上的目标目录。
我尝试过的剧本 .yml 中的行失败了:
- copy:
src='/users/rolando/myfile'
dest='rolando@targetserver:/home/rolando/myfile'
我做错了什么?
来自复制概要:
模块将本地盒子上的文件复制到远程位置。copy
- hosts: targetserver
tasks:
- copy:
src: /users/rolando/myfile
dest: /users/rolando/myfile
这是更新的答案。上面的答案有助于复制本地计算机本身的文件。 使用copy模块
中提供的remote_src参数应该很容易- name: Copy a "sudoers" file on the remote machine for editing
copy:
src: /users/rolando/myfile
dest: /home/rolando/myfile
remote_src: yes
从 Ansible 2.10 开始,核心模块被重新组织到命名空间中,并且 文档 建议使用
ansible.builtin.copy
:
- hosts: targetserver
tasks:
- ansible.builtin.copy:
src: /users/rolando/myfile
dest: /users/rolando/myfile