Einfach mal nachgefragt, sind bei euch im Verein PC's und / oder Laptops in Betrieb die vor dem Herunterfahren noch ein Backup ausführen sollen? Je nach Datenmenge kann ein Backup schon länger dauern. Und du willst nach Hause!!! Mit deinem Laptop!!!
Aber das Backup läuft noch eine dir nicht bekannte Zeit
Falls es doch nur immobile PC's sind ist es egal.
Nur mal so nachgefragt.........
systemd Backup-Service
- myscha
- Geschlossen
- Erledigt
Hinweis: In dem Thema systemd Backup-Service gibt es 44 Antworten auf 5 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
-
-
@ThomasS
Nein, da ist nur eine immobile Workstation im Einsatz die dauernd am Strom hängt. Es darf also auch länger dauern. Ein Reboot sollte allerdings möglichst schnell durchgeführt werden, daher sollte das Skript nur beim Herunterfahren ausgeführt werden.@Berichtigung
Bei Verwendung von WantedBy=poweroff.target habe ich die Reihenfolge unter After/ Before umkehrt. -
Code
Alles anzeigen[Unit] # WICHTIG: # Nicht von den "normalen" Abhänigkeiten abhängig machen. # Es soll wirklich solitär laufen! DefaultDependencies=no # Du willst alle drei Targets, damit es auch wirklich bei jedem Systemhalt ausgeführt wird. # Falls du bei Reboot auf den Job verzichten willst, halt reboot.target streichen Before=shutdown.target reboot.target halt.target [Service] # Auch wichtig, damit keine "Watchdogs" von systemd getriggert werden Type=oneshot # IMMER und AUSSCHLIESSLICH absolute Pfade verwenden. # Es gibt kein normales Environment und kein Terminal ExecStart=/absoluter/Pfad/zum/Script # Auch in den Scripten NUR absolute Pfade, also # /bin/echo bla bla # statt # echo bla bla
Es gibt noch weitere Möglichkeiten.
Auch dein Weg wäre gangbar (zum Preis von sinnlos Speicher- und Rechenzeitvergeudung; ist heue aber wohl ziemlich egal)Wenn du Parameter an Scripte übergeben willst, solltest du vorher man systemd.service lesen.
Die Syntax ist etwas "eigen". -
@Berichtigung
Vielen Dank für den Service. Leider scheint es auch damit nicht zu funktionieren. Jedenfalls wird keine Datei erstellt - weder beim Reboot noch beim Shutdown. Die Übergabeparameter habe ich jetzt weggelassen.backup.service:
Code[Unit] Description=Backup all relevant data DefaultDependencies=no Before=shutdown.target halt.target reboot.target [Service] Type=oneshot ExecStart=/home/backup/backup-data.sh
/home/backup/backup-data.sh:
Rufe ich das Skript in der Konsole ohne Parameter auf, wird die Datei mit dem erwarteten Inhalt generiert.EDIT:
Ich teste das aktuell als root, später soll das Skript aber auch für/ unter normalen Nutzern laufen. Nur falls das auch noch ne Rolle spielt. -
Hast du den Service auch enabled?
-
Mittels systemctl enable data-backup.service? Ja, habe ich. Siehe Anhang.
Nach dem Reboot ist die Datei noch immer nicht vorhanden. Der systemctl status gibt 3 Einträge zurück, weil ich vorher schonmal eine Runde mit systemctl start/ systemctl stop gedreht habe.
-
-
Bei mir funktioniert folgendes:
Code
Alles anzeigen[Unit] Description=Backup all relevant data DefaultDependencies=no Before=shutdown.target halt.target reboot.target [Service] Type=oneshot ExecStart=/home/backup/backup-data.sh [Install] WantedBy=multi-user.target
Dann noch enablen und nach dem starten erscheint auch das File.Code
Alles anzeigensystemctl status backup.service ● backup.service - Backup all relevant data Loaded: loaded (/etc/systemd/system/backup.service; enabled; vendor preset: disabled) Active: inactive (dead) Nov 01 16:33:34 linux64 systemd[1]: Starting Backup all relevant data... Nov 01 16:33:34 linux64 systemd[1]: backup.service: Main process exited, code=exited, status=203/EXEC Nov 01 16:33:34 linux64 systemd[1]: Failed to start Backup all relevant data. Nov 01 16:33:34 linux64 systemd[1]: backup.service: Unit entered failed state. Nov 01 16:33:34 linux64 systemd[1]: backup.service: Failed with result 'exit-code'. Nov 01 16:35:22 linux64 systemd[1]: Starting Backup all relevant data... Nov 01 16:35:22 linux64 systemd[1]: Started Backup all relevant data. Nov 01 16:37:36 linux64 systemd[1]: Stopped Backup all relevant data. Nov 01 16:50:01 linux64 systemd[1]: Starting Backup all relevant data... Nov 01 16:50:01 linux64 systemd[1]: Started Backup all relevant data.
-
-
Bei mir startet der Dienst dann einmal sofort nach diesem Befehl. Beim Reboot/ Shutdown dann nicht mehr.
Damit startet der Dienst beim Hochfahren, aber nicht beim Reboot/ Shutdown.