diff --git a/roles/borg_client/tasks/main.yml b/roles/borg_client/tasks/main.yml index 6580c8c51a962e1658642bebc427beddee69976e..f356207d64c5c36a54c41bc91d25319c5a6b28e8 100644 --- a/roles/borg_client/tasks/main.yml +++ b/roles/borg_client/tasks/main.yml @@ -57,12 +57,14 @@ template: src=backup-gitlab.sh.j2 dest=/usr/local/bin/backup-gitlab.sh owner=root group=root mode=0755 when: inventory_hostname == "gitlab.archlinux.org" -- name: install systemd timer and service for backup - copy: src={{ item }} dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 +- name: install systemd services for backup + template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 with_items: - - borg-backup.timer - borg-backup.service - borg-backup-offsite.service -- name: activate systemd timers for backup +- name: install systemd timer for backup + copy: src=borg-backup.timer dest=/etc/systemd/system/borg-backup.timer owner=root group=root mode=0644 + +- name: activate systemd timer for backup systemd: name=borg-backup.timer enabled=yes state=started daemon-reload=yes diff --git a/roles/borg_client/templates/borg-backup-cpu-quota.j2 b/roles/borg_client/templates/borg-backup-cpu-quota.j2 new file mode 100644 index 0000000000000000000000000000000000000000..5d264b34594a19122061c55fbac37227d8c32c15 --- /dev/null +++ b/roles/borg_client/templates/borg-backup-cpu-quota.j2 @@ -0,0 +1,4 @@ +{% if ansible_processor_vcpus == 1 %} +{# Limit CPU usage to avoid triggering a HostHighCpuLoad alert #} +CPUQuota=50% +{% endif %} diff --git a/roles/borg_client/files/borg-backup-offsite.service b/roles/borg_client/templates/borg-backup-offsite.service.j2 similarity index 78% rename from roles/borg_client/files/borg-backup-offsite.service rename to roles/borg_client/templates/borg-backup-offsite.service.j2 index 35a876231d35054c0207844c3b9ea6381db43e54..cd4f590067c904bf27d319c7a80bb41156bccd30 100644 --- a/roles/borg_client/files/borg-backup-offsite.service +++ b/roles/borg_client/templates/borg-backup-offsite.service.j2 @@ -5,4 +5,5 @@ Description=Borg backup (offsite) Type=oneshot Restart=on-failure RestartSec=5m +{% include 'borg-backup-cpu-quota.j2' %} ExecStart=/usr/local/bin/borg-backup-offsite.sh diff --git a/roles/borg_client/files/borg-backup.service b/roles/borg_client/templates/borg-backup.service.j2 similarity index 82% rename from roles/borg_client/files/borg-backup.service rename to roles/borg_client/templates/borg-backup.service.j2 index fe49eec723a7ad2259a8d7756cd2cfe086e887f2..001eaaa452507d2a5625b5ea4c88c1cb5ad177e6 100644 --- a/roles/borg_client/files/borg-backup.service +++ b/roles/borg_client/templates/borg-backup.service.j2 @@ -7,4 +7,5 @@ Before=borg-backup-offsite.service Type=oneshot Restart=on-failure RestartSec=5m +{% include 'borg-backup-cpu-quota.j2' %} ExecStart=/usr/local/bin/borg-backup.sh