Ich habe dieses Skript, das ich vom System nur beim Herunterfahren (oder Neustarten) ausführen lassen möchte. Dieses Skript startet oder stoppt keinen Server, es hängt lediglich einige Dateisysteme aus. Leider scheint ein Großteil der Dokumentation, die ich finde, zu glauben, dass ich ein Skript zum Verwalten eines Servers schreiben werde, aber das tue ich überhaupt nicht.
Lektürehttp://tuxgraphics.org/npa/systemd-scripts/und man systemd.service
und man systemd.unit
(ich bin nicht einmal sicher, was ich verstehen soll) ich habe:
[Unit]
Description=My umount script
After=network.target syslog.target
[Service]
Type=oneshot
ExecStop=/home/PL/bin/umountb2.sh
StandardOutput=journal
Aber ich habe keine Ahnung, ob das richtig ist, und ich bin noch weniger zuversichtlich, dass es zum richtigen Zeitpunkt ausgeführt wird. Ich brauche es irgendwann, nachdem alle normalen Benutzer abgemeldet sind, aber nicht bevor alle Dateisysteme ausgehängt wurden.
Ich verwende Ubuntu 22.04.2
Bearbeiten: Jetzt sieht die Konfigurationsdatei folgendermaßen aus:
Description=My special shutdown script
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/PL/bin/umountb2.sh
[Install]
WantedBy=multi-user.target
Und die Dinge haben sich verbessert, aber es gibt ein Problem, weil mein Skript cryptsetup
einen Fehler zurückgibt. Ich denke, es wird zu spät ausgeführt, denn wenn ich neu starte, erscheinen journalctl -b -1 --dmesg
nur drei Nachrichten, die meinem Skript folgen. Die erste ist:
Kernel: NFSD: Letzter Server wurde beendet, Export-Cache wird geleert