--- - name: Ensure nfs-utils and rear packages are present ansible.builtin.package: name: "{{ item }}" state: present loop: - nfs-utils - rear - name: Check connectivity to NFS servers ansible.builtin.wait_for: host: "{{ item }}" port: 2049 timeout: 30 loop: "{{ nfs_np }}" ignore_errors: true register: active_nfs_servers - name: Define single NFS server ansible.builtin.set_fact: nfs_srv: "{{ active_nfs_servers | json_query(_nfs_query) | random }}" vars: _nfs_query: "results[?failed==`false`].item" - name: Create /etc/rear if it doesn't exist ansible.builtin.file: path: /etc/rear state: directory mode: "0755" owner: root group: root - name: Configure ReaR local.conf file ansible.builtin.template: src: local.conf.j2 dest: /etc/rear/local.conf owner: root group: root mode: "0600" - name: ReaR Backup block: - name: Execute ReaR backup ansible.builtin.command: rear -d -v mkbackup changed_when: true register: rear_mkbackup - name: ReaR backup success ansible.builtin.debug: msg: "ReaR backup has completed successfully." rescue: - name: ReaR backup failed ansible.builtin.fail: msg: "ReaR backup has failed. Please review the logs for any errors, and try again."