Ansible内置模块之copy
发布作者:微思网络 发布时间:2024-09-18 浏览量:0次
注意: src:如果路径是一个目录,它将递归复制。在这种情况下,如果路径使用/来结尾,则只复制目录里的内容,如果没有使用/来结尾,则包含目录在内的整个内容全部复制,类似于 rsync。 # 将本地文件复制到远程主机 选项 必须 类型 默认值 说明 src 否 str 无 源文件的路径。支持本地或远程路径。如存在 content 提供,此选项可忽略 content 否 str 无 直接指定文件内容,而不是从 src 读取 dest 是 str 无 目标路径 mode 否 str 无 目标文件的权限,如 0644、0755 等 owner 否 str 无 目标文件的所有者 group 否 str 无 目标文件的属组 backup 否 bool no 如果目标文件存在,是否创建备份 force 否 bool yes 如果目标文件存在,是否强制覆盖 validate 否 str 无 在复制之前验证目标文件的命令。可以包含占位符 %s,表示目标文件路径 remote_src 否 bool no 如果为 yes,则表示 src 是远程路径 selevel 否 str 无 验证文件的 SHA256 校验和 selevel 否 str 无 设置文件的 SELinux 安全级别 serole 否 str 无 设置文件的 SELinux 角色 setype 否 str 无 设置文件的 SELinux 类型 seuser 否 str 无 设置文件的 SELinux 用户
- name: Copy a file to a remote host
ansible.builtin.copy:
src: /path/to/local/file
dest: /path/to/remote/file
# 直接指定文件内容
- name: Copy content to a remote file
ansible.builtin.copy:
content: |
This is the content of the file.
dest: /path/to/remote/file
# 设置文件权限和所有者
- name: Copy a file and set permissions and owner
ansible.builtin.copy:
src: /path/to/local/file
dest: /path/to/remote/file
mode: '0644'
owner: myuser
group: mygroup
# 在复制之前验证文件
- name: Copy a file and validate before copying
ansible.builtin.copy:
src: /path/to/local/file
dest: /path/to/remote/file
validate: 'mycommand %s'
# 从远程路径复制文件
- name: Copy a file from a remote source
ansible.builtin.copy:
src: /path/to/remote/source/file
dest: /path/to/remote/destination/file
remote_src: yes
# 创建备份并复制文件
- name: Copy a file and create a backup if the file exists
ansible.builtin.copy:
src: /path/to/local/file
dest: /path/to/remote/file
backup: yes
# 强制覆盖目标文件
- name: Copy a file and force overwrite
ansible.builtin.copy:
src: /path/to/local/file
dest: /path/to/remote/file
force: yes