diff --git a/playbooks/rear_restore.yml b/playbooks/rear_restore.yml index 5d883c6..0e03e53 100644 --- a/playbooks/rear_restore.yml +++ b/playbooks/rear_restore.yml @@ -17,14 +17,35 @@ # Won't we need to regenerate the local.cfg? # Could we save the archive to etc-rear-{{ workflow }}.tar.gz and restore from that? tasks: - - name: Import rear_vars role - ansible.builtin.import_role: - name: rhc.rear.rear_vars + - name: Check if configuration backup exists + ansible.builtin.stat: + path: "/root/etc-rear-backup-{{ rear_backup_workflow }}.tar.gz" + register: rear_config_backup_stat - - name: Configure ReaR local.conf file - ansible.builtin.include_role: - name: rhc.rear.rear_local_cfg + - name: Create tmpdir and extract archive + when: + - rear_config_backup_stat['stat']['exists'] | bool + block: + - name: Create tmpdir + ansible.builtin.file: + path: /tmp/unarchive + state: directory + mode: "0755" - - name: Perform ReaR restore - ansible.builtin.include_role: - name: rhc.rear.rear_restore + - name: Extract archive contents + ansible.builtin.unarchive: + remote_src: true + src: "/root/etc-rear-backup-{{ rear_backup_workflow }}.tar.gz" + dest: /tmp/unarchive + + # - name: Import rear_vars role + # ansible.builtin.import_role: + # name: rhc.rear.rear_vars + + # - name: Configure ReaR local.conf file + # ansible.builtin.include_role: + # name: rhc.rear.rear_local_cfg + + # - name: Perform ReaR restore + # ansible.builtin.include_role: + # name: rhc.rear.rear_restore diff --git a/roles/rear_backup/tasks/main.yml b/roles/rear_backup/tasks/main.yml index 1dd0bea..398bb59 100644 --- a/roles/rear_backup/tasks/main.yml +++ b/roles/rear_backup/tasks/main.yml @@ -57,7 +57,7 @@ - name: Create backup of ReaR configuration files community.general.archive: path: /etc/rear - dest: /root/etc-rear-backup.tar.gz + dest: /root/etc-rear-backup-{{ rear_backup_workflow }}.tar.gz format: gz force_archive: true mode: "0600"