system-config/playbooks/roles/borg-backup-server/tasks/main.yaml

67 lines
1.5 KiB
YAML

- name: Create backup directory
file:
state: directory
path: /opt/backups
- name: Install borg
include_role:
name: install-borg
- name: Install prune script
copy:
src: 'prune-borg-backups.sh'
dest: '/usr/local/bin/prune-borg-backups'
owner: root
group: root
mode: '0755'
- name: Install backup volume monitor
copy:
src: 'backup-volume-monitor.sh'
dest: '/usr/local/bin/backup-volume-monitor'
owner: root
group: root
mode: '0755'
- name: Run backup volume monitor
cron:
name: backup-volume-monitor
state: present
job: '/usr/local/bin/backup-volume-monitor'
minute: '0'
hour: '0'
- name: Install backup verification
copy:
src: 'verify-borg-backups.sh'
dest: '/usr/local/bin/verify-borg-backups'
owner: root
group: root
mode: '0755'
- name: Run backup verification
cron:
name: verify-borg-backups
state: present
job: '/usr/local/bin/verify-borg-backups &>> /var/log/verify-borg-backups.log'
minute: '0'
hour: '0'
weekday: '0'
- name: Rotate verification logs
include_role:
name: logrotate
vars:
logrotate_file_name: '/var/log/verify-borg-backups.log'
- name: Build all borg users from backup hosts
set_fact:
borg_users: '{{ borg_users }} + [ {{ hostvars[item]["borg_user"] }} ]'
with_inventory_hostnames: 'borg-backup:!disabled'
- name: Create borg users
include_tasks: user.yaml
loop: '{{ borg_users }}'
loop_control:
loop_var: borg_user