Hi,
ich habe hier https://askubuntu.com/questions/293312/execute-a-script-upon-logout-reboot-shutdown-in-ubuntu ein Script (unter: Changing the Trigger Conditions for Shutdown) gefunden wie man angeblich beim Shutdown per Systemd das Ausführen eines Scriptes anstoßen kann. Es scheitert schon leider daran, dass die Service-Unit immer als "dead" angezeigt wird. Das ganze sieht so aus:
[Unit] Description=Do something required DefaultDependencies=no Before=shutdown.target reboot.target halt.target [Service] Type=oneshot ExecStart=/home/john/.my_script [Install] WantedBy=halt.target reboot.target shutdown.target
Das von mir erstmal getestete Script schreibt einfach nur mit touch eine Datei (als Test). Ich führe nach dem Erstellen der Unit
sudo systemctl daemon-reload sudo systemctl enable start_and_stop sudo systemctl start start_and_stop
aus. Prüfe ich das ganze mit
sudo systemctl status start_and_stop
erhalte ich
sudo systemctl status start_and_stop ● start_and_stop.service - Run Scripts at Start and Stop Loaded: loaded (/etc/systemd/system/start_and_stop.service; enabled; vendor preset: enabled) Active: inactive (dead) since Sun 2020-12-13 09:44:57 CET; 5s ago Process: 6128 ExecStart=/usr/bin/bash /home/ich/start (code=exited, status=0/SUCCESS) Main PID: 6128 (code=exited, status=0/SUCCESS) Dez 13 09:44:57 ich-desktop systemd[1]: Starting Run Scripts at Start and Stop... Dez 13 09:44:57 ich-desktop systemd[1]: start_and_stop.service: Succeeded. Dez 13 09:44:57 ich-desktop systemd[1]: Finished Run Scripts at Start and Stop.
Hab mir auch ein paar andere Varianten des ganzen ergoogelt, das Ergebnis ist immer das gleiche: als Status wird 'dead' ausgegeben und nichts wird beim Shutdown gemacht.
Friedrich
P.S. In dem Link gibt es weiter oben unter "GUI Version" und "CLI (Command Line) Version" noch eine andere Variante, die aber schlicht nichts tut. Soweit ich Systemd verstanden habe, ist da auch kein "Trigger" angegeben - kann also gar nicht laufen.