44 lines
1.0 KiB
YAML
44 lines
1.0 KiB
YAML
---
|
|
# 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
|
|
|