staging.inyokaproject.org

Script ausführen wenn der Rechner heruntergefahren wird mit systemd

Status: Ungelöst | Ubuntu-Version: Xubuntu 20.04 (Focal Fossa)
Antworten |

Fried-rich

Anmeldungsdatum:
2. Mai 2013

Beiträge: Zähle...

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.

Antworten |