Как заархивировать несколько папок в одной папке, используя Ansible - PullRequest
0 голосов
/ 11 июля 2020

Я использую приведенный ниже код ansible -playbook для архивирования нескольких папок в папке IBM.

Ниже приведен мой абсолютный путь к структуре каталогов:

/app
   |-- /IBM
          |--/test
          |--/log
          |--/common
          |--/api

I wi sh для создания архива (gz), в котором есть только папка IBM, содержащая только папки 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, в которой должны быть две общие папки и api. Таким образом, я ожидаю следующее в mysetup.tar.gz

IBM
  |--/common
  |--/api

Но в mysetup.tar.gz нет папки IBM, а есть только папки common и api.

Не могли бы вы посоветовать мне, как сделать так, чтобы в архиве обе папки находились внутри папки IBM?

1 Ответ

0 голосов
/ 11 июля 2020

Вам нужно включить всю папку 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
...