Autoinstall-Skript für systemd-Dienst

English Deutsch

Das folgende Skript installiert eine systemd-Dienstdatei in /etc/systemd/system/ und aktiviert sie (d.h. Start beim Booten) und startet sie sofort.

install_systemd_service.sh
#!/bin/bash
# This script installs and enables/starts a systemd service
export NAME=MyService

# Create service file
cat >/etc/systemd/system/${NAME}.service <<EOF
# ADD SYSTEMD SERVICE FILE CONTENT HERE
EOF

# Enable and start service
systemctl enable --now ${NAME}

Um das Skript für den eigenen systemd-Dienst anzupassen, MyService durch den gewünschten Namen des Dienstes ersetzen in

install_systemd_service_set_name.sh
export NAME=MyService

und den Inhalt der .service-Datei einfügen bei

install_systemd_service_placeholder.sh
# ADD SYSTEMD SERVICE FILE CONTENT HERE

Vollständiges Beispiel

Das folgende vollständige Beispiel installiert einen systemd-Dienst namens MyService, der /usr/bin/python3 myscript.py ausführt:

install_systemd_service_example.sh
#!/bin/bash
# This script installs and enables/starts a systemd service
export NAME=MyService

# Create service file
cat >/etc/systemd/system/${NAME}.service <<EOF
[Unit]
Description=MyService

[Service]
Type=oneshot
ExecStart=/usr/bin/python3 myscript.py
WorkingDirectory=/opt/myservice

[Install]
WantedBy=multi-user.target
EOF

# Enable and start service
systemctl enable --now ${NAME}

Check out similar posts by category: Systemd