Я пытаюсь создать резервную копию типа rsyn c на нескольких серверах. Я хотел бы создать каталог резервного копирования для каждого сервера локально на моем ноутбуке, а затем создать их резервную копию. Если каталог не существует, создайте его.
Я начинаю с локального вызова книги воспроизведения, чтобы можно было создавать каталоги локально, а затем меняю книгу воспроизведения на группу резервного копирования. Проблема в том, что я не знаю, как заполнить имена хостов в резервной группе. Когда я запускаю playbook ниже, единственный каталог, который создается, является localhost. Мне нужно для каждого хоста в группе резервного копирования создать локальный каталог и создать его резервную копию. Какой самый простой способ сделать эту работу?
- hosts: localhost
become: yes
#strategy: free
pre_tasks:
vars:
- backupDir: "/Users/user1/Desktop/Fusion/backups/{{ inventory_hostname }}/"
roles:
tasks:
- name: Check if Backup Folder Exisits.
stat:
path: "{{ backupDir }}"
register: my_folder
- name: "Ansible Create directory if not exists"
file:
path: "{{ backupDir }}"
state: directory
when: my_folder.stat.exists == false
- hosts: backup
tasks:
- name: Rsync Directories from Remote to Local
synchronize:
mode: pull
src: "{{ item }}"
dest: "{{ backupDir }}/{{ansible_date_time.date}}.back"
with_items:
- "/home/user1/"
- "/var/www/html/"
- "/root/"
when: my_folder.stat.exists
handlers: