AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 801840
Accepted
030
030
Asked: 2016-09-09 04:35:20 +0800 CST2016-09-09 04:35:20 +0800 CST 2016-09-09 04:35:20 +0800 CST

如何在Ansible中复制除一个之外的所有孩子?

  • 772

本文档解释了如何使用copyAnsible 中的模块复制文件和目录。如何复制除一个之外的所有孩子?

讨论

  1. 这些选项没有说明如何完成。
  2. 单独复制所有子代不是一个选项,因为父代包含超过 100 个子代。
ansible
  • 2 2 个回答
  • 13919 Views

2 个回答

  • Voted
  1. Best Answer
    Henrik Pingel
    2016-09-09T04:43:22+08:002016-09-09T04:43:22+08:00

    最好的选择可能是使用该synchronize模块。

    synchronize 是 rsync 命令的包装器,旨在使 rsync 的常见任务更容易。

    而该copy模块使用 Python 复制文件并且其功能受到限制。复制模块文档中有一条注释 :

    “复制”模块递归复制工具不能扩展到大量(>数百)文件。对于替代方案,请参阅同步模块,它是 rsync 的包装器。

    使用该synchronize模块,可以将exclude模式传递rsync_opts给rsyncAnsible 正在执行的命令。

    # Synchronize passing in extra rsync options
    synchronize:
        src: /tmp/helloworld
        dest: /var/www/helloword
        rsync_opts:
          - "--exclude=.git"
    

    但该synchronize模块有一些注意事项。就像rsync安装在本地和远程机器上的要求一样。这就是为什么我在不需要时不会使用它的原因。

    • 14
  2. Krolique
    2018-04-27T16:23:52+08:002018-04-27T16:23:52+08:00

    如果我不得不使用 just copy,这就是我会做的。在此示例中,我使用patterns的是特定于 Python 和 a 的.hiddenfile(我使用 hidden 来演示 find 有很多可供探索的选项)。然而,基本思想 - 您可以使用模式/正则表达式过滤器来满足您的需求。

    - name: prepare a list of files to copy from some place
      find:
        paths: /var/some-place
        hidden: yes
        patterns:
          - "*.py"
          - ".hiddenfile"
      delegate_to: localhost
      register: target_files
    
    - name: copy files to other place
      copy:
        src: "{{ item.path }}"
        dest: /var/other-place
      with_items: "{{ target_files.files }}"
      tags:
        - copy
    
    • 5

相关问题

  • 重复的 Ansible 任务

  • 无法形成站点中的文件的链接,该链接可用于使用 ansible 在远程服务器中启用的目录站点?

  • 如何执行 ansible 的特定角色?

  • Ansible 和 rbash

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve