--- - name: Perform a ReaR backup hosts: all become: true gather_facts: true strategy: free vars: rear_backup_workflow: standalone tasks: - name: Import rear_vars role ansible.builtin.import_role: name: rhc.rear.rear_vars - name: Check for previous backup completion ansible.builtin.stat: path: "{{ rear_backup_success_file_path }}/{{ rear_backup_workflow }}_rear_success" register: rear_backup_success_file - name: End if backup has already completed successfully ansible.builtin.meta: end_host when: - rear_backup_success_file['stat']['exists'] | bool - not rear_force_backup | default(false) | bool - name: Perform ReaR Backup and write success log when: - ansible_distribution_major_version >= '7' - not rear_backup_skip | default(false) | bool block: - name: Include the backup role ansible.builtin.include_role: name: rhc.rear.rear_backup - name: Confirm ReaR backup log is present ansible.builtin.stat: path: "/var/log/rear/rear-{{ ansible_hostname }}.log" register: rear_backup_log_stat - name: Backup ReaR log file and create success file when: - rear_backup_log_stat['stat']['exists'] block: - name: Copy ReaR log file to backup location ansible.builtin.copy: src: "/var/log/rear/rear-{{ ansible_hostname }}.log" dest: "/var/log/rear-{{ ansible_hostname }}-{{ '%Y-%m-%d' | strftime(rear_backup_log_stat['stat']['mtime']) }}.log" mode: "0644" backup: true remote_src: true - name: Remove ReaR log file ansible.builtin.file: path: "/var/log/rear/rear-{{ ansible_hostname }}.log" state: absent - name: Create success file directory if not present ansible.builtin.file: path: "{{ rear_backup_success_file_path }}" state: directory mode: "0755" - name: Create backup success file ansible.builtin.copy: dest: "{{ rear_backup_success_file_path }}/{{ rear_backup_workflow }}_rear_success" content: "success\n" mode: "0644"