diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2018-12-27 15:10:41 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2018-12-27 15:10:41 +0100 |
commit | a4d189208a4108bd430891928764f9feb921f888 (patch) | |
tree | 367ebfa782afd7a614c9b174ae2a7497ccef3d1a /ansible/roles | |
parent | 37e93cced23e0ee726309e841b1dac19e9ccdac4 (diff) | |
download | infra-a4d189208a4108bd430891928764f9feb921f888.tar.gz infra-a4d189208a4108bd430891928764f9feb921f888.tar.bz2 infra-a4d189208a4108bd430891928764f9feb921f888.tar.xz infra-a4d189208a4108bd430891928764f9feb921f888.zip |
o Sending email after creating backup.
Diffstat (limited to 'ansible/roles')
-rw-r--r-- | ansible/roles/borg-client/tasks/main.yml | 37 | ||||
-rw-r--r-- | ansible/roles/borg-client/templates/bin/create-backup | 2 | ||||
-rw-r--r-- | ansible/roles/borg-client/templates/bin/create-backup-send-email | 17 |
3 files changed, 51 insertions, 5 deletions
diff --git a/ansible/roles/borg-client/tasks/main.yml b/ansible/roles/borg-client/tasks/main.yml index a65ae3e..8925d84 100644 --- a/ansible/roles/borg-client/tasks/main.yml +++ b/ansible/roles/borg-client/tasks/main.yml @@ -33,6 +33,7 @@ become: yes copy: dest: /etc/borg/env + mode: u=r,go= content: | BORG_REPO="borg@{{ borg_client__server }}:{{ ansible_hostname }}" BORG_RSH="ssh -i {{ ssh_key}}" @@ -70,11 +71,14 @@ - name: /usr/local/bin/create-backup become: yes template: - dest: /usr/local/bin/create-backup - src: bin/create-backup - mode: u=rx,go= + dest: "/usr/local/bin/{{ item }}" + src: "bin/{{ item }}" + mode: u=rwx,go=rx owner: root group: root + with_items: + - create-backup + - create-backup-send-email - become: yes copy: @@ -86,10 +90,35 @@ [Service] Type=oneshot WorkingDirectory=/ - ExecStart=/usr/local/bin/create-backup + ExecStart=-/usr/local/bin/create-backup + ExecStartPost=-/usr/local/bin/create-backup-send-email root@trygvis.io + SuccessExitStatus=0 1 + +# OnFailure=create-backup-send-email.service +# OnSuccess=create-backup-send-email.service register: create_backup_service - when: create_backup_service.changed become: yes systemd: daemon_reload: yes + +- become: yes + copy: + dest: /etc/systemd/system/create-backup-send-email.service + content: | + [Unit] + Description=Send email after creating backup + + [Service] + Type=oneshot + WorkingDirectory=/ + ExecStart=/usr/local/bin/create-backup-send-email root@trygvis.io + User=nobody + Group=systemd-journal + register: create_backup_send_email_service + +- when: create_backup_send_email_service.changed + become: yes + systemd: + daemon_reload: yes diff --git a/ansible/roles/borg-client/templates/bin/create-backup b/ansible/roles/borg-client/templates/bin/create-backup index dfbe72d..cf75edf 100644 --- a/ansible/roles/borg-client/templates/bin/create-backup +++ b/ansible/roles/borg-client/templates/bin/create-backup @@ -11,7 +11,7 @@ export BORG_RSH cmd=() cmd+=(borg create) cmd+=(--stats) -cmd+=(--progress) +#cmd+=(--progress) cmd+=(--json) cmd+=(--exclude-from=/etc/borg/excludes) cmd+=(--patterns-from=/etc/borg/patterns) diff --git a/ansible/roles/borg-client/templates/bin/create-backup-send-email b/ansible/roles/borg-client/templates/bin/create-backup-send-email new file mode 100644 index 0000000..65286b1 --- /dev/null +++ b/ansible/roles/borg-client/templates/bin/create-backup-send-email @@ -0,0 +1,17 @@ +#!/bin/bash + +set -euo pipefail + +cd / + + +/usr/sbin/sendmail -t <<ERRMAIL +To: $1 +From: systemd <root@$HOSTNAME> +Subject: Backup @ $HOSTNAME +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=UTF-8 + +$(systemctl status --full 2>&1) +$(journalctl --since today --unit create-backup 2>&1) +ERRMAIL |