Использование модуля Fetch для резервного копирования файлов за пределы сайта - ошибка «файл не найден» - PullRequest
0 голосов
/ 19 июня 2020

Эти Ansible задачи должны сначала найти правильный файл (ы) и зарегистрировать их путь. В этом случае файлы, заканчивающиеся на '.tar.gz'. Во-вторых, переместить эти совпадения файлов за пределы площадки для резервного копирования.

- name: Find and register {{ domain_name }} archive
  find:
    paths: /home/backups/{{ domain_name }}/archive/
    patterns: '*.tar.gz'
  register: tar_file
  tags: bkup.offsite

- name: Fetch {{ domain_name }} archive for offsite backup
  fetch:
    src: /home/{{ domain_name }}/archive/{{ item }}
    dest: '{{ store_path }}'
    fail_on_missing: yes
  with_items: '{{ tar_file }}'
  tags: bkup.offsite

Моя ошибка:

не удалось: [45.63.35.46] (item = files) => {"ansible_loop_var": "item", "changed": false, "item": "files", "msg": "file not found: / home / backups / tester / archive / files"} не удалось: [45.63.35.46] (item = changed) => {"ansible_loop_var": "item "," изменено ": false," item ":" изменено "," msg ":" файл не найден: / home / backups / tester / archive / changed "} не удалось: [45.63.35.46] (item = msg) = > Ошибка {"ansible_loop_var": "item", "changed": false, "item": "msg", "msg": "файл не найден: / home / backups / tester / archive / msg"}: [45.63. 35.46] (item = matched) => {"ansible_loop_var": "item", "changed": false, "item": "matched", "msg": "файл не найден: / home / backups / tester / archive / соответствует "} не удалось: [45.63.35.46] (item = проверено) => {" ansible_loop_var ":" item "," changed ": false," item ":" проверено "," msg ":" файл не найден: / главная / резервные копии / тестер / архив / проверено "} не удалось: [45.63.35.46] (item = failed) => {" ansible_loop_var ":" item "," changed ": false," item ":" failed "," msg " ":" файл не найдено: / home / backups / tester / archive / failed "}

Я дважды проверил, есть ли на пути с .tar.gz файл, который должен совпадать и перемещаться.

1 Ответ

1 голос
/ 19 июня 2020

Задача register: для каждая ansible состоит из нескольких ключей верхнего уровня, связанных с самим выполнением задачи, в том числе changed, failed, msg, и * 1014. * плюс любые возвращаемые значения из задачи. То, что вам нужно, это files, как описано в точном руководстве , как вы можете видеть в ошибке item=files из вашей попытки; таким образом:

- debug:
    msg: look, the tar file is actually {{ item.path }}
  with_items: '{{ tar_file.files }}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...