From 7000622d4627d4731a8264466c945c4142ccf37d Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Sep 2025 15:53:21 -0400 Subject: [PATCH] More validation tasks --- playbooks/rear_backup_validation.yml | 2 +- roles/rear_backup_validation/tasks/main.yml | 45 +++++++++++++++++---- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/playbooks/rear_backup_validation.yml b/playbooks/rear_backup_validation.yml index 81cdb1c..61dca38 100644 --- a/playbooks/rear_backup_validation.yml +++ b/playbooks/rear_backup_validation.yml @@ -10,6 +10,6 @@ ansible.builtin.import_role: name: rhc.rear.rear_vars - - name: Validiate ReaR backup completion + - name: Validiate ReaR Backup Completion ansible.builtin.include_role: name: rhc.rear.rear_backup_validation diff --git a/roles/rear_backup_validation/tasks/main.yml b/roles/rear_backup_validation/tasks/main.yml index 9e246a2..b1d9627 100644 --- a/roles/rear_backup_validation/tasks/main.yml +++ b/roles/rear_backup_validation/tasks/main.yml @@ -1,11 +1,40 @@ --- -- name: Validate ReaR backup completion - ansible.builtin.command: - cmd: "grep 'Finished running mkbackup workflow' /var/log/rear/rear-{{ ansible_hostname }}.log" - register: rear_backup_validate - failed_when: rear_backup_validate['rc'] not in [0] +- name: Check if ReaR backup log exists + ansible.builtin.stat: + path: "/var/log/rear/rear-{{ ansible_hostname }}.log" + register: rear_backup_log_presence -- name: Debug rear_backup_validate - ansible.builtin.debug: - msg: "{{ rear_backup_validate }}" +- name: Validate backup completion and other stuff + when: + - rear_backup_log_presence['stat']['exists'] | bool + block: + - name: Validate ReaR backup completion + ansible.builtin.command: + cmd: "grep 'Finished running mkbackup workflow' /var/log/rear/rear-{{ ansible_hostname }}.log" + register: rear_backup_validate + failed_when: rear_backup_validate['rc'] not in [0] + - name: Debug rear_backup_validate + ansible.builtin.debug: + msg: "{{ rear_backup_validate }}" + + - name: Set current time and capture ReaR backup timestamp + ansible.builtin.set_fact: + rear_backup_date_now: "{{ ansible_date_time['date'] }}" + # rear_backup_timestamp: "{{ rear_backup_validate['stdout'] | split(' ') | first }}" + rear_backup_timestamp: '2025-09-24' + + - name: Capture number of days since last backup + ansible.builtin.set_fact: + rear_backup_age: "{{ ((rear_backup_date_now | to_datetime('%Y-%m-%d')) - (rear_backup_timestamp | to_datetime('%Y-%m-%d'))).days }}" + + - name: Debug rear_backup_age + ansible.builtin.debug: + msg: "Number of days since last backup success: {{ rear_backup_age }}." + + - name: Fail if backup older than desired + ansible.builtin.assert: + that: + - rear_backup_age | int <= 6 + success_msg: "Backup is new enough." + fail_msg: "Backup is too old like your stinky grandma!"