--- # Backup - name: Ensure snapshot directory file: state: directory path: "{{ snapshots.path }}" become: yes - name: Ensure /usr/local/scripts exists file: state: directory path: '/usr/local/scripts' become: yes - name: Template btrfs_backup.sh ansible.builtin.template: src: btrfs_backup.sh.j2 dest: /usr/local/scripts/btrfs_backup.sh owner: root group: root mode: '0744' become: yes - name: Template open_backup.sh ansible.builtin.template: src: open_backup.sh.j2 dest: /usr/local/scripts/open_backup.sh owner: root group: root mode: '0744' become: yes - name: Ensure hourly backups of each item in backups ansible.builtin.cron: name: "hourly backup of {{ item }}" minute: "0" job: "export SOURCE_DIR={{ item }}; /usr/local/scripts/btrfs_backup.sh" become: yes loop: "{{ backups }}" - name: Ensure cronie service started ansible.builtin.systemd: name: cronie state: restarted daemon_reload: yes enabled: yes become: yes