Hallo,
möchte eine Systemd Service Unit erstellen, welche von einem systemd Timer angesprochen wird zur regelmäßigen Datenbanksicherung.
Jetzt bin ich auf die Idee gekommen, dass ich über die Service Unit für das Backup ja das entsprechende Programm welches die Datenbank verwendet stoppen und nach Beendigung des Backups wieder starten könnte.
In etwa so (was aber nicht funktioniert):
Code
[Unit]
Description=Backup der SQLite DB von picoffee
Requisite=media-NAS.mount
[Service]
Type=simple
ExecStartPre=systemctl stop picoffee.service
ExecStart=/bin/bash /home/pi/db_backup/db_backup.sh
ExecStartPost=systemctl start picoffee.service
[Install]
WantedBy=multi-user.target
Alles anzeigen
Fehlerausgabe:
Code
● db_backup.service - Backup der SQLite DB von picoffee
Loaded: loaded (/etc/systemd/system/db_backup.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Feb 18 21:52:50 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:7] Executable path is not absolute, ignoring: systemctl stop picoffee.service
Feb 18 21:52:50 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:9] Executable path is not absolute, ignoring: systemctl start picoffee.service
Feb 18 21:54:18 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:7] Executable path is not absolute, ignoring: systemctl stop picoffee.service
Feb 18 21:54:18 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:9] Executable path is not absolute, ignoring: systemctl start picoffee.service
Feb 18 21:54:18 werkstattpi systemd[1]: Started Backup der SQLite DB von picoffee.
Feb 18 21:54:18 werkstattpi bash[1570]: tar: Entferne führende „/“ von Elementnamen
Feb 18 21:54:20 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:7] Executable path is not absolute, ignoring: systemctl stop picoffee.service
Feb 18 21:54:20 werkstattpi systemd[1]: [/etc/systemd/system/db_backup.service:9] Executable path is not absolute, ignoring: systemctl start picoffee.service
Alles anzeigen
Das ist also wohl nicht so gedacht, dass man das systemctl Befehle darüber absetzen kann.
Mir kam halt der Gedanke, da man ja auch in Requisite (u.ä) direkten Einfluss auf Units nehmen kann.
Natürlich könnte ich das starten und stoppen im Backupskript selbst vornehmen...aber gibts für mein vorhaben auch eine "systemd Lösung?"