mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-03-26 21:33:05 +00:00
There is a new backup role in the roles folder:
roles/ipabackup
This role allows to backup an IPA server, to copy a backup from the
server to the controller, to copy all backups from the server to the
controller, to remove a backup from the server, to remove all backups
from the server, to restore an IPA server locally and from the controller
and also to copy a backup from the controller to the server.
Here is the documentation for the role:
roles/ipabackup/README.md
New example playbooks have been added:
playbooks/backup-server.yml
playbooks/backup-server-to-controller.yml
playbooks/copy-backup-from-server.yml
playbooks/copy-all-backups-from-server.yml
playbooks/remove-backup-from-server.yml
playbooks/remove-all-backups-from-server.yml
playbooks/copy-backup-to-server.yml
playbooks/restore-server-from-controller.yml
playbooks/restore-server.yml
47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
---
|
|
- name: Fail on invalid ipabackup_item
|
|
fail: msg="ipabackup_item {{ ipabackup_item }} is not valid"
|
|
when: ipabackup_item is not defined or
|
|
ipabackup_item | length < 1 or
|
|
(ipabackup_item.find("ipa-full-") == -1 and
|
|
ipabackup_item.find("ipa-data-") == -1)
|
|
|
|
- name: Set controller destination directory
|
|
set_fact:
|
|
ipabackup_controller_dir:
|
|
"{{ ipabackup_controller_path | default(lookup('env','PWD')) }}/{{
|
|
ipabackup_name_prefix | default(ansible_fqdn) }}_{{
|
|
ipabackup_item }}/"
|
|
|
|
- name: Stat backup on server
|
|
stat:
|
|
path: "{{ ipabackup_dir }}/{{ ipabackup_item }}"
|
|
register: result_backup_stat
|
|
|
|
- name: Fail on missing backup directory
|
|
fail: msg="Unable to find backup {{ ipabackup_item }}"
|
|
when: result_backup_stat.stat.isdir is not defined
|
|
|
|
- name: Get backup files to copy for "{{ ipabackup_item }}"
|
|
shell:
|
|
find . -type f | cut -d"/" -f 2
|
|
args:
|
|
chdir: "{{ ipabackup_dir }}/{{ ipabackup_item }}"
|
|
register: result_find_backup_files
|
|
|
|
- name: Copy server backup files to controller
|
|
fetch:
|
|
flat: yes
|
|
src: "{{ ipabackup_dir }}/{{ ipabackup_item }}/{{ item }}"
|
|
dest: "{{ ipabackup_controller_dir }}"
|
|
with_items:
|
|
- "{{ result_find_backup_files.stdout_lines }}"
|
|
|
|
- name: Fix file modes for backup on controller
|
|
file:
|
|
dest: "{{ ipabackup_controller_dir }}"
|
|
mode: u=rwX,go=
|
|
recurse: yes
|
|
delegate_to: localhost
|
|
become: no
|