/usr/local/bin/myscript
Darin wird testweise alle 5 Sekunden eine Zeile an den Logger (syslog) geschickt.
Damit es auch über den Service beendet werden kann, wird ein trap eingebaut.
#!/bin/bash
killit()
{
echo "...Ende" | logger
exit 0
}
trap killit HUP
while true; do
sleep 5
echo "...sleeping" | logger
done
Ausführbar machen mit
chmod +x /usr/local/bin/myscript
Nun erstelle ich die Datei
/lib/systemd/system/myscript.service
mit folgendem Inhalt:
[Unit]
Description=My own little script
After=network.target.
[Service]
#EnvironmentFile=
ExecStart=/usr/local/bin/myscript
ExecStop=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=myscript.service
Den Service aktivieren mit
systemctl enable myscript
Status anzeigen lassen mit
service myscript status
Starten mit
service myscript start
Im Systemlog (/var/log/syslog) sollten nun alle 5 Sekunden neue Einträge auftauchen.
Service stoppen mit
service myscript stop
Sehr schön ist in diesem Zusammenhang das Zusammenspiel mit journalctl.
Ein
journalctl -u myscript.service listet nur die Einträge des soeben definierten Services auf.
Keine Kommentare:
Kommentar veröffentlichen