ansible copy模块

copy模块

1.1 copy模块

1.1.1 copy模块下的参数

src参数:用于指定需要copy的文件或目录

dest参数:用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数

content参数:当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错。

force参数: 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。

backup参数: 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机。

owner参数: 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。

group参数: 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。

mode参数: 指定文件拷贝到远程主机后的权限,如果你想将权限设置为"rw-r--r--",则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示

1.1.2 同时拷贝多个文件

例1:

- hosts: nginx
  remote_user: root
  gather_facts: false
  tasks:
    - name: "copy file to hosts"
      copy:
        src: "{{ item.src }}"
        dest: "{{ item.dest }}"
        owner: root
        group: root
        mode: 755
      with_items:
        - {src: "/root/ansible/luyan/copymodule/copytest1.txt", dest: "/opt/copymodule" }
        - {src: "/root/ansible/luyan/copymodule/copytest2.txt", dest: "/opt/copymodule" }
        - {src: "/root/ansible/luyan/copymodule/copytest3.txt", dest: "/opt/copymodule" }

例2:

- name: copy files to {{ NGINX_DATA }}
  copy: src={{ item }} dest={{ NGINX_DATA }}
  with_items:
    - data
    - conf
posted @   liwenchao1995  阅读(237)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示