copy模块与fetch模块

copy:将本地机器上的文件拷贝到远程机器

fetch:将远程机器上的文件拷贝到本地机器

[root@localhost zabbix]# ansible-doc -s copy
- name: Copies files to remote locations
  copy:
      attributes:            # 文件或目录应该具有的属性。要获得受支持的标志,请查看目标系统上的“chattr”手册页。这个字符串应该包含与“lsattr”显示的属性顺序相同的属性。
      backup:                # 创建一个包含时间戳信息的备份文件,这样,如果您以某种方式错误地处理了原始文件,就可以重新获得原始文件。
      content:               # 当使用替换的“src”时,将文件的内容直接设置为指定的值。对于任何高级的或格式化的内容,也可以查看模板模块
      decrypt:               # 此选项使用vault控制源文件的自动解密
      dest:                  # (必选)文件复制到的远程绝对路径。如果“src”是一个目录,那么这个目录也必须是一个目录。如果' dest'是一个不存在的路径,并且如果' dest'以"/"结尾,或者' src'是一个目录,则创建' dest'。
                   如果“src”和“dest”是文件,则不会创建“dest”的父目录:如果任务不存在,则会失败。 directory_mode: # 当执行递归复制时,为目录设置模式。如果没有设置,我们将使用系统默认值。该模式仅在新创建的目录上设置,不会影响已经存在的目录。 follow: # 此标志指示,如果目标文件系统链接存在,则应遵循它们。 force: # 默认值是“yes”,当内容与源文件不同时,它将替换远程文件。如果“不”,则只有在目标不存在时才会传输文件。 group: # 应该拥有文件/目录的组的名称,将被提供给“chown”。 local_follow: # 此标志指示应遵循源树中的文件系统链接(如果存在的话)。 mode: # 模式文件或目录应该是。对于那些习惯于“/usr/bin/chmod”的用户,请记住模式实际上是八进制数(比如0644)。去掉前导零可能会产生意想不到的结果。从1.8版开始,模式可以指定为符号模式(例如,' u+rwx'或' u=rw,g=r,o=r')。 owner: # 应该拥有该文件/目录的用户名,该用户名将被提供给“chown”。 remote_src: # 如果“否”,它将在原始/主机器上搜索“src”。如果“是”,它将转到“src”的远程/目标机器。默认设置是“不”。目前' remote_src'不支持递归复制。 selevel: # 级别SELinux文件上下文的一部分。这是MLS/MCS属性,有时称为“range”。' _default'功能与' seuser'功能相同。 serole: # 作为SELinux文件上下文的角色部分,' _default'功能与' seuser'功能相同。 setype: # 输入SELinux文件上下文的一部分,' _default'功能与' seuser'功能相同。 seuser: # SELinux文件上下文的用户部分。将默认为系统策略(如果适用)。如果设置为“_default”,它将使用策略的“user”部分(如果可用)。 src: # 要复制到远程服务器的文件的本地路径;可以是绝对的,也可以是相对的。如果path是一个目录,则递归复制它。
                   在本例中,如果path以“/”结尾,则只将该目录中的内容复制到目的地。否则,如果没有以“/”结尾,则复制包含所有内容的目录本身。这种行为类似于Rsync。 unsafe_writes: # 通常,此模块使用原子操作来防止数据损坏或从目标文件中读取不一致的数据,有时系统配置或破坏的方式就是为了防止这种情况发生。docker挂载文件就是一个例子,它们不能自动更新,只能以不安全的方式进行更新。
                   这个布尔值选项允许ansible返回到不安全的方法来更新那些你没有其他选择的情况下的文件。请注意,这取决于竞争条件,并可能导致数据损坏。 validate: # 在复制到适当位置之前要运行的验证命令。要验证的文件的路径通过'%s'传递,该路径必须如下面的示例所示。该命令被安全地传递,因此shell特性(如扩展和管道)将无法工作。

  

[root@localhost zabbix]# ansible-doc -s fetch
- name: Fetches a file from remote nodes
  fetch:
      dest:                  # (必需的)文件保存到的目录。例如,如果“dest”目录是“/backup”,那么主机“host.example.com”上名为“/etc/profile”的“src”文件将被保存到“/backup/host.example.com/etc/ profile”中。
      fail_on_missing:       # 当设置为“yes”时,如果由于任何原因无法读取远程文件,任务将失败。在ansibl -2.4之前,只有在源文件丢失时才会设置此选项。在ansibl -2.4中,默认值更改为“yes”。
      flat:                  # 允许您覆盖将主机名/路径/附加到目标文件的默认行为。如果dest以'/'结尾,它将使用源文件的基本名称,类似于复制模块。显然,只有当文件名是惟一的时,这才有用。
      src:                   # (必需的)远程系统上要获取的文件。这“必须”是一个文件,而不是一个目录。在以后的版本中可能会支持递归抓取。
      validate_checksum:     # 在获取文件之后,验证源和目标校验和是否匹配。
原文地址:https://www.cnblogs.com/carriezhangyan/p/11467061.html