Hinweis:

Soll ein eigenes Script bei Systemstart ausgeführt werden, ist zuvor sicherzustellen, dass „root“ dieses Script fehlerfrei ausführen kann. Ein fehlerhaftes Script kann bei Systemstart schwerwiegende Störungen hervorrufen.

Einrichtung:

systemd erwartet die Unit-Files (Steuerdateien) im Verzeichnis /etc/systemd/system/. z.B.:

/etc/systemd/system/myScript.service

Angenommen das eigene Script ist /usr/local/bin/myService.sh, kann man die Unit-Datei mit folgenden Inhalt füllen:

#--------------------------------------------------------------------
#  Autostart von /usr/local/bin/myService.sh
#--------------------------------------------------------------------
[Unit]
Description=Beschreibung dieses Service
After=getty.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/myService.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target 

Hinweis: Wer einen Editor benutzt, der bei Änderungen einer Datei eine Backup-Datei im gleichen Verzeichnis erstellt, sollte diese unbedingt entfernen, damit der Service nicht doppelt gestartet wird.

Der Service muss noch aktiviert werden:

/usr/sbin/service enable myScript.service

Ab diesem Moment wird der Service automatisch bei Systemstart ausgeführt.

Der Start des Service kann auch ohne Neustart des Server durchgeführt werden:

/usr/sbin/service start myScript.service

Zur Fehlersuche ist es hilfreich, wenn man zuvor eine 2. Konsole geöffnet hat und darin mit

journalctl -f 

das Systemprotokoll beobachtet.

Nach Änderungen am Script muss der Service gestoppt und wieder gestartet werden

/usr/sbin/service stop myScript.service
/usr/sbin/service start myScript.service

Nützliches:

Die Möglichkeiten von Unit-Files sind sehr vielfältig. Eine Suche im Netz nach „systemd unit files“ liefert zahlreiche Informationen wie z.B. https://wiki.ubuntuusers.de/systemd/Units/