Einfache Erklärung von systemd gesucht. Wo liegt mein Fehler?

Moin,
kürzlich wurde ich überraschend genötigt von debian 8 / Jessie auf 9 / Stretch umzusteigen.

Unter Jessie funktionierte mein altes init-Startscript, welches per sshfs einen Netzwerkmount durchführt, noch einwandfrei. Und dass, obwohl Jessie doch offenbar auch schon von init auf systemd umgestiegen war.

Unter Stretch funktioniert das init-Script aber nicht mehr und die Anpassung an systemd klappt einfach partout nicht. Zwar funktioniert das mountscript manuell inzwischen wie es soll, aber im Bootablauf wird erst gemounted … und dann gleich wieder ausgehängt! WTF…! :frowning:

Wer hat eine einfache Erklärung für mich in dem ein einfaches Beispiel vorgestellt wird? Ich habe diese Anweisung befolgt, aber so klappt das ja leider nicht:
https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux

„After“ habe ich angepasst weil ich dachte, bei „network.target“ würde der Prozess warten, bis das Netzwerk steht:

[Unit]
After=network.target

[Service]
ExecStart=/eigeneSystemScripte/tilde-mount.sh

[Install]
WantedBy=default.target

eigentlich gehört da noch ein

ExecStop=/eigeneSystemScripte/tilde-unmount.sh

rein weil ich dachte, beim runterfahren würde er dann dieses ausführen.
Wo steckt den hier der Fehler?

Und noch was: unter init hat mein Startscript Meldungen ausgegeben, die beim Starten erschienen. So konnte man gleich sehen, ob der mount geklappt hat oder der Server aus war. Damit die Meldung nicht durchlief, konnte man mit „sleep“ Pausen einbauen. Auch zur Fehlersuche war das gut - nun geht das alles nicht mehr. Oder geht es doch?

Danke und VG,
J~

Wird das überhaupt Ding aufgerufen? Eventuell solltest Du mal ein paar Zeilen mit „logger“ in die tilde-mount.sh einfügen um zu sehen, ob und was es tut, ebenso in tilde-unmount.sh

Nur so fürs Debugging …

Die Option lautet „TimeoutStartSec=“

Der Fehler steckt ja schon irgendwo vorher.

Von systemd habe ich acuh wenig Ahnung, aber Ich würde es mal mit dem ServiceType „oneshot“ probieren und analog von Beispiel 3 vorgehen.

Und zu guter Letzt: hast Du den Service mit

systemctl enable $NAME_DER_UNIT_DATEI 
aktiviert?

HTH,

Sebastian