--- - name: Ensure backup destination directory exists ansible.builtin.file: path: "{{ backup_destination }}" state: directory owner: glyptic group: glyptic mode: "0750" tags: [backup] - name: Deploy backup script ansible.builtin.template: src: backup.sh.j2 dest: "{{ backup_script_path }}" owner: root group: root mode: "0750" tags: [backup] - name: Configure backup cron job ansible.builtin.cron: name: "homelab-backup" minute: "0" hour: "2" job: "{{ backup_script_path }} >> /var/log/homelab-backup.log 2>&1" user: root tags: [backup] - name: Configure backup log rotation ansible.builtin.copy: content: | /var/log/homelab-backup.log { weekly rotate 4 compress missingok notifempty } dest: /etc/logrotate.d/homelab-backup owner: root group: root mode: "0644" tags: [backup]