Hallo,
auf meinem System (Kubuntu 20.04) habe ich ein Shell Skript erstellt, dass eine Kopie auf einen Heimserver mittels rsync anlegt.
#!/bin/bash date &>> /var/log/Calibrebackup.log rsync -vr --dry-run --progress --human-readable /home/user/Calibre-Bibliothek /mnt/data/user/Audio/Bücher &>> /var/log/Calibrebackup.log
Mittels eines Service und Timer soll dieses Skript 10 Minuten nach dem Booten ausgeführt werden, was auch funktioniert. Sollte es mal aus einem Grund nicht funktionieren, möchte ich eine Mailbenachrichtigung erhalten.
Dazu habe ich analog der funktionierenden Umgebung ein Test Skript, Service und Timer erstellt, um einen Fehler zu provozieren zu können.
Skript
/usr/local/bin/test.sh #!/bin/bash date &>> /var/log/test.log cat system.re &>> /var/log/test.log
Service
/etc/systemd/system/test.service [Unit] Description=Test um einen Service Abbruch zu testen OnFailure=status_email_user@%n.service [Service] ExecStart=/usr/local/bin/test.sh
Timer
/etc/systemd/system/test.timer [Unit] Description=Timer Datei für test-service [Timer] #OnBootSec=10m #Persistent=true #RandomizeDelay=1h OnCalendar=*-*-* 21:24:00 [Install] WantedBy=timers.target
Für die Mailbenachrichtigung habe ich analog
https://wiki.archlinux.org/index.php/Systemd/Timers#MAILTO
folgendes aufgebaut. Ein weiteres Skript:
/usr/local/bin/systemd-email.sh #!/bin/bash MAILTO="user1@gmail.com" MAILFROM="user2@gmail.com" UNIT=$1 /usr/sbin/sendmail sendwait $MAILTO <<ERRMAIL To: $MAILTO From: $MAILFROM Subject: Statusmail for unit: $UNIT Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 $(systemctl status --full "$1") ERRMAIL
Einen Service
/etc/systemd/system/status_email_user@.service [Unit] Description=Status email to user [Service] Type=simple ExecStart=/usr/local/bin/systemd-email %i User=root
Wenn ich systemd-email.sh test.service aufrufe erhalte ich eine Mail mit dem gewünschten Inhalt.
Wenn ich allerdings den Fehler provoziere (richtige Uhrzeit in test.timer einstellen), erhalte ich folgende Meldnug mittels journalctl -xe
-- The unit test.service has entered the 'failed' state with result 'exit-code'. Mär 11 21:44:05 T430-linux systemd[1]: test.service: Triggering OnFailure= dependencies. Mär 11 21:44:05 T430-linux systemd[1]: Started Status email to user. -- Subject: A start job for unit status_email_user@test.service.service has finished successfully -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- A start job for unit status_email_user@test.service.service has finished successfully. -- -- The job identifier is 8116. Mär 11 21:44:05 T430-linux systemd[19338]: status_email_user@test.service.service: Failed to execute command: No such file or directory Mär 11 21:44:05 T430-linux systemd[19338]: status_email_user@test.service.service: Failed at step EXEC spawning /usr/local/bin/systemd-email: No such file or directory -- Subject: Process /usr/local/bin/systemd-email could not be executed -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- The process /usr/local/bin/systemd-email could not be executed and failed. -- -- The error number returned by this process is ERRNO. Mär 11 21:44:05 T430-linux systemd[1]: status_email_user@test.service.service: Main process exited, code=exited, status=203/EXEC -- Subject: Unit process exited -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- An ExecStart= process belonging to unit status_email_user@test.service.service has exited. -- -- The process' exit code is 'exited' and its exit status is 203. Mär 11 21:44:05 T430-linux systemd[1]: status_email_user@test.service.service: Failed with result 'exit-code'. -- Subject: Unit failed -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- The unit status_email_user@test.service.service has entered the 'failed' state with result 'exit-code'.
Hat jemand enen Rat?
Falls ich für das Thema die falsche Kategorie getroffen habe, bitte umhängen.
Moderiert von sebix:
Thema in einen passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) in jedem Forenbereich. Danke.