0

Linux systemd: Unit Files

Posted by Thorsten on 6. August 2016 in Allgemein, linux, SAP, Ubuntu |

Um ein Skript bei Systemstart des SLES12 Server mit systemd aus zu führen benötigt man zwei Dinge:

1. das Skript welches man ausführen möchte und 2. ein „.service“ File (Unit-File) für den Systemd.

Wir legen beispielsweise ein Skript für die Ausführung unter „/root/bin/skript.sh“.

Das .service File wird unter dem Verzeichnis /etc/systemd/system abgelegt. Beispiel: /etc/systemd/system/skript.service

Anschließend sieht das Unitfile hierfür folgendermaßen aus:

[Unit]
Description=Skript für Systemboot 

[Service]
Type=oneshot
ExecStart=/root/bin/skript.sh

[Install]
WantedBy=multi-user.target

 

Dies wäre die einfachste Art ein Skript bei Systemstart aus zu führen.

Falls es sich um einen Service handelt der gestoppt und gestartet werden soll könnte das dementsprechende Skript folgendermaßen aussehen:

start() {
  exec hierdasexecutable start
}

stop() {
  exec hierdasexecutable stop
}

case $1 in
  start|stop) "$1" ;;
esac

 

Das dazu passende .service (Unit File) könnte dann folgendermaßen aussehen:

[Unit]
Description=Skript für Systemboot

[Service]
Type=oneshot
ExecStart=/root/bin/skript.sh start
ExecStop=/root/bin/skript.sh stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

 

Anschließend kann man sein Skript steuern mit:

systemctl start skript.service | systemet stop skript.service

Für den nächsten Systemstart einplanen:

systemctl enable skript.service

Schlagwörter: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Copyright © 2009-2017 linux-voodoo.de All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.4, from BuyNowShop.com.