如何在ansible中更快地制作zip存档?

Posted

技术标签:

【中文标题】如何在ansible中更快地制作zip存档?【英文标题】:how to make zip archive in ansible faster? 【发布时间】:2019-12-05 08:46:09 【问题描述】:

我正在尝试使用存档模块通过 Ansible 将文件夹压缩为 .zip 文件。文档描述了一个属性参数,你用过吗? 你知道如何加快归档速度吗?

P.S.:我知道制作 .tar 更好,但在我的情况下,只能使用 .zip 文件。

- name: zip backup folder linux
  archive:
    path: " path_from /*"
    dest: " path_to /backup_backup_name.zip"
    format: zip

【问题讨论】:

【参考方案1】:

将存档更改为命令模块:使用终端加快压缩速度

【讨论】:

不建议在有官方模块可用的情况下使用 shell 命令。 同意,但如果模块没有这些属性 - shell 更好 OP的问题中没有任何声明他不能使用存档模块。【参考方案2】:

The archive module has the ability to compresses a file/folder,使用Linux系统包:

压缩包 压缩文件 压缩包 bzip2

简而言之,Ansible 在这些系统包之上添加了一层来执行压缩任务。 加快速度不在 Ansible 的控制范围内,因为它依赖于这些工具。

压缩文件/文件夹所需的时间很大程度上取决于以下几点:

CPU 内存 磁盘(SSD 或 HDD) 要压缩的文件数量 文件类型 工具和操作系统的版本

如果您找到了一种通过其他系统命令实际加快处理速度的方法,请使用 shell 作为一种快速而肮脏的方法,或者将您的方法添加到 Ansible 核心,因为 Ansible 是开源的。

您可能想在 Google 上搜索“基准 zip 压缩”之类的内容,然后查找最适合您情况的内容。

【讨论】:

以上是关于如何在ansible中更快地制作zip存档?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不解压缩的情况下列出 zip 存档中的文件?

D:如何将文件添加到 zip 存档中?

如何在 Windows 批处理文件中使用 7zip 从 ZIP 存档中提取最后一个目录?

如何使用 Java 将每个文件存储在 zip 存档中的数组中?

如何在编译设置时创建多个 zip 存档

如何从嵌套存档中读取 ZipEntry CRC(zip in zip)