--- - 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 ReaR Grub menu item ansible.builtin.lineinfile: path: "{{ rear_vars_grub_conf }}" regexp: '^menuentry ' line: "menuentry '{{ rear_vars_grub_label }}' --class os {" state: present notify: Update Grub - 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."