Implemented systemd-email.service for native-pull-remote-backups

This commit is contained in:
Kevin Veen-Birkenbach 2021-01-05 18:17:04 +01:00
parent 54a91a808b
commit 1276415dd0
8 changed files with 55 additions and 3 deletions

View File

@ -24,6 +24,5 @@ ansible-playbook -i ~/your-inventories/inventorie/hosts site.yml
docker stop $(docker ps -aq); docker rm $(docker ps -aq); docker volume rm $(docker volume ls -q); docker stop $(docker ps -aq); docker rm $(docker ps -aq); docker volume rm $(docker volume ls -q);
`` ``
## todo ## see
- implement smtp - https://wiki.archlinux.org/index.php/Ansible
- implement administrator mail

View File

@ -1,2 +1,3 @@
dependencies: dependencies:
- native-git - native-git
- native-systemd-email

View File

@ -4,3 +4,4 @@ Description=pull remote backups
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=/usr/bin/bash /usr/local/bin/pull-remote-backups.sh ExecStart=/usr/bin/bash /usr/local/bin/pull-remote-backups.sh
OnFailure=systemd-email@%n.service

View File

@ -0,0 +1,6 @@
# native-systemd-mail
# see
- https://wiki.archlinux.org/index.php/Systemd/Timers#MAILTO
- https://serverfault.com/questions/876233/how-to-send-an-email-if-a-systemd-service-is-restarted/876254
- https://serverfault.com/questions/694818/get-notification-when-systemd-monitored-service-enters-failed-state

View File

@ -0,0 +1,11 @@
- name: install smtp-forwarder
pacman: name=smtp-forwarder state=present
- name: configure msmtprc.conf.j2
template: src=msmtprc.conf.j2 dest=/root/.msmtprc
- name: configure systemd-email.sh
template: src=systemd-email.sh.j2 dest=/usr/local/bin/systemd-email.sh
- name: configure systemd-email.service
template: src=systemd-email.service.j2 dest=/etc/systemd/system/systemd-email.service

View File

@ -0,0 +1,15 @@
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
account system_email
host {{system_email_host}}
port 587
from {{system_email}}
user {{system_email_username}}
password {{system_email_password}}
account default : system_email

View File

@ -0,0 +1,8 @@
[Unit]
Description=status email for %i to user
[Service]
Type=oneshot
ExecStart=/usr/local/bin/systemd-email.sh %i
User=nobody
Group=systemd-journal

View File

@ -0,0 +1,11 @@
#!/bin/bash
/usr/bin/sendmail -t <<ERRMAIL
To: {{administrator_email}}
From: systemd <{{system_email}}>
Subject: $1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
$(systemctl status --full "$1")
ERRMAIL