systemd: Einfaches Autoinstall-Skript für Services
English
Deutsch
Ich verwende dies in Git-Repositories, um den Bereitstellungsprozess zu vereinfachen.
a-simple-systemd-service-autoinstall-script.sh
#!/bin/bash
# Dieses Skript installiert und aktiviert/startet einen systemd-Service
# Es installiert außerdem die Service-Datei
export NAME=MyService
cat >/etc/systemd/system/${NAME}.service <<EOF
# TODO systemd .service-Datei hier einfügen
EOF
# Service aktivieren und starten
systemctl enable --now ${NAME}.serviceDas folgende Beispiel installiert automatisch einen docker-compose systemd-.service:
a-simple-systemd-service-autoinstall-script-2.sh
#!/bin/bash
# Dieses Skript installiert und aktiviert/startet einen systemd-Service
# Es installiert außerdem die Service-Datei
export NAME=MyService
cat >/etc/systemd/system/${NAME}.service <<EOF
[Unit]
Description=${NAME}
Requires=docker.service
After=docker.service
[Service]
Restart=always
User=root
Group=docker
WorkingDirectory=$(pwd)
# Container herunterfahren (falls laufend), bevor die Unit gestartet wird
ExecStartPre=$(which docker-compose) -f docker-compose.yml down
# Container starten, wenn die Unit gestartet wird
ExecStart=$(which docker-compose) -f docker-compose.yml up
# Container stoppen, wenn die Unit gestoppt wird
ExecStop=$(which docker-compose) -f docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
# Service aktivieren und starten
systemctl enable --now ${NAME}.serviceIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow