62 lines
1.6 KiB
YAML

---
- name: Check for previous backup and end host if present
ansible.builtin.include_role:
name: rhc.rear.rear_backup_check
- name: Ensure nfs-utils and rear packages are present
ansible.builtin.package:
name:
- nfs-utils
- rear
state: present
- name: Check and define NFS server for backup
ansible.builtin.include_role:
name: rhc.rear.nfs_server_define
- name: Configure ReaR local.conf file
ansible.builtin.include_role:
name: rhc.rear.rear_local_cfg
- name: ReaR Backup
block:
- name: Execute ReaR backup
ansible.builtin.command: rear -d -v mkbackup
changed_when: true
register: rear_mkbackup
- name: Update menu item for ReaR in Grub config
ansible.builtin.include_role:
name: rhc.rear.rear_grub_cfg
- name: Archive backup log
ansible.builtin.include_tasks:
file: archive_backup_log.yml
- name: Write backup success file
ansible.builtin.include_tasks:
file: create_success_file.yml
rescue:
- name: ReaR backup failed
ansible.builtin.fail:
msg: "ReaR backup has failed. Please review the logs for any errors, and try again."
- name: Verify ReaR configuration is present
ansible.builtin.stat:
path: /etc/rear
register: rear_config_stat
- name: Create backup of ReaR configuration files
community.general.archive:
path: /etc/rear
dest: /root/etc-rear-backup-{{ rear_backup_workflow }}.tar.gz
format: gz
force_archive: true
mode: "0600"
when:
- rear_config_stat['stat']['exists'] | bool
- name: ReaR backup success
ansible.builtin.debug:
msg: "ReaR backup has completed successfully."