added systemd services

This commit is contained in:
nd 2021-03-13 21:00:27 +01:00
parent 420be44f56
commit baa9bd7bed
No known key found for this signature in database
GPG key ID: 21B5CD4DEE3670E9
8 changed files with 67 additions and 5 deletions

3
handlers/main.yml Normal file
View file

@ -0,0 +1,3 @@
- name: reload systemd
systemd:
daemon_reload: True

View file

@ -47,13 +47,28 @@
- backup-all-vms
- backup-full
- backup-cronjob
- backup-check
template:
src: "{{ item }}.j2"
dest: "/usr/local/bin/{{ item }}"
owner: root
group: root
mode: 0700
mode: 0755
validate: /bin/bash -n %s
- name: copy systemd services
notify:
- reload systemd
loop:
- backup-check
- backup-retention
- backup-run
template:
src: "{{ item }}.service.j2"
dest: "/etc/systemd/system/{{ item }}.service"
owner: root
group: root
mode: 0644
# validate: /usr/bin/systemd-analyze verify %s
- name: create data folder
file:
path: /var/backup-client/

14
templates/backup-check.j2 Executable file
View file

@ -0,0 +1,14 @@
#!/bin/bash
set -euo pipefail
{% if backup_backend == 'restic' %}
# restic backend
source /etc/backup-client/restic.env
restic check --read-data
{% endif %}
{% if not backup_backend %}
echo "Noop, backup is handled external"
{% endif %}

View file

@ -0,0 +1,10 @@
[Unit]
Description=Check backup consistency
OnFailure=status-email-root@%n.service
[Service]
Nice=19
IOSchedulingClass=idle
Type=simple
ExecStart=/usr/local/bin/backup-check

View file

@ -7,7 +7,3 @@ set -euo pipefail
{% if backups.mode in ['hypervisor-restic'] %}
backup-all-vms
{% endif %}
{% if backup_executor %}
backup-retention
{% endif %}

View file

@ -7,6 +7,7 @@ source /etc/backup-client/retention.env
# restic backend
source /etc/backup-client/restic.env
restic forget \
--cleanup-cache \
--verbose \
--prune \
--group-by "host,paths,tags" \
@ -17,3 +18,6 @@ restic forget \
--keep-yearly ${BACKUP_RETENTION_YEARS}
{% endif %}
{% if not backup_backend %}
echo "Noop, backup is handled external"
{% endif %}

View file

@ -0,0 +1,10 @@
[Unit]
Description=Delete no longer needed backups
OnFailure=status-email-root@%n.service
[Service]
Nice=19
IOSchedulingClass=idle
Type=simple
ExecStart=/usr/local/bin/backup-retention

View file

@ -0,0 +1,10 @@
[Unit]
Description=Backup system
OnFailure=status-email-root@%n.service
[Service]
Nice=19
IOSchedulingClass=idle
Type=simple
ExecStart=/usr/local/bin/backup-full