如何使用 Ansible 将多个文件夹归档到一个文件夹下
Posted
技术标签:
【中文标题】如何使用 Ansible 将多个文件夹归档到一个文件夹下【英文标题】:How to archive multiple folders under one folder using Ansible 【发布时间】:2020-07-11 14:22:39 【问题描述】:我正在使用下面的 ansible-playbook 代码来归档 IBM 文件夹下的多个文件夹。
下面是我的绝对路径目录结构:
/app
|-- /IBM
|--/test
|--/log
|--/common
|--/api
我希望构建一个只有 IBM 文件夹的存档 (gz),其中仅包含 common
和 api
文件夹。
因此,我编写了以下剧本:
- name: Creating the archive
archive:
path:
- /was/IBM/common
- /was/IBM/api
dest: /var/backup/mysetup.tar.gz
exclude_path:
- /was/IBM/log
- /was/IBM/test
format: gz
这给了我文件mysetup.tar.gz
。
我希望mysetup.tar.gz
文件有一个名为 IBM 的文件夹,其中应该有两个文件夹 common 和 api。因此,我期待mysetup.tar.gz
中的以下内容@
IBM
|--/common
|--/api
但是,mysetup.tar.gz
没有 IBM 文件夹,只有 common
和 api
文件夹。
您能否指导我如何让存档将两个文件夹都包含在 IBM 文件夹中?
【问题讨论】:
【参考方案1】:您需要包含整个 IBM 文件夹,然后排除您不想要的路径
- name: Creating the archive
archive:
path:
- /was/IBM
dest: /var/backup/mysetup.tar.gz
exclude_path:
- /was/IBM/log
- /was/IBM/test
format: gz
【讨论】:
如果 IBM 内部还有其他几个文件夹,但我不确定是否排除所有这些文件夹,因为它们是由随机用户创建的?因此,我的要求是 1. 排除我知道我不需要的特定文件夹 2. 在 IBM 中包含我绝对需要的几个文件夹。现在,IBM 下可能还有其他文件夹,但我的档案中不需要它们。以上是关于如何使用 Ansible 将多个文件夹归档到一个文件夹下的主要内容,如果未能解决你的问题,请参考以下文章