Um ein Script beim Systemstart von Ubuntu automatisch ausführen zu lassen, kann man beispielsweise ein Systemd service erstellen. Wie das funktioniert, erkläre ich in diesem Beitrag. Ich setze Ubuntu 22.04 ein.

Da Ubuntu auf Systemd basiert, ist es der einfachste Weg, ein Script beim Start auszuführen, eine Systemd-Dienstdatei zu erstellen und jedes Script über diesen Dienst während des Systemstarts auszuführen.

Erstelle zunächst einen solchen Dienst. Passe dabei den Namen des Dienstes für dein Vorhaben an:

nano /etc/systemd/system/RunScript

In diese Datei wird folgender Inhalt eingefügt:

[Unit]
After=network.target

[Service]
ExecStart=/usr/local/bin/RunScript.sh

[Install]
WantedBy=default.target

Hiermit wird festgelegt, dass das in Zeile 5 angegeben Script ab bestehender Netzwerkverbindung, also ab Systemstart, ausgeführt werden soll. Nun wird das entsprechende Script im angegebenen Pfad noch angelegt:

nano /usr/local/bin/RunScript.sh

Ein Bash-Script beginnt immer mit:

#!/bin/bash

Danach folgt das eigentliche Script:

#!/bin/bash

# Hier das Script

Nun werden noch die entsprechenden Berechtigungen für Systemd sowie die Ausführung des Scripts gesetzt:

chmod 744 /usr/local/bin/RunScript.sh
chmod 664 /etc/systemd/system/RunScript

Aktiviere jetzt den Service:

systemctl daemon-reload
systemctl enable RunScript

Der Service wurde aktiviert und ab den nächsten Neustart des Systems wird das hinterlegte Script ausgeführt.

Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Kategorie: Server

Tags: , ,

0 Kommentare

1.598 Aufrufe

Über mich

Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.

2138 Aufrufe
WhatsApp
Reddit
URL has been copied successfully!

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 1

Bisher keine Bewertungen. Sei der Erste, der diesen Beitrag bewertet!

Es tut mir Leid, dass der Beitrag für dich nicht hilfreich war!

Wie kann ich diesen Beitrag verbessern?

Keine Kommentare vorhanden

  1. Marvinios 15. Februar 2023 um 22:13 - Antworten

    Hallo,

    bei mir wird nach
    systemctl enable RunScript

    Folgendes ausgegeben:
    Failed to enable unit: File /etc/systemd/system/SysStart.service already exists

    SysStart.service ist in diesem fall RunScript.

    Gruß Marvinios

    • Avatar-Foto
      Janis 16. Februar 2023 um 7:15 - Antworten

      Nun, die Meldung besagt, es existiert bereits ein Dienst mit diesem Namen.

      • Marvinios 19. Februar 2023 um 12:52 - Antworten

        Danke für die antwort, das habe ich bereits erkannt. ich hätte mein problem etwas mehr beschreiben sollen tut mir leid.
        Die datei SysStart.service habe ich erstellt und code reingeschreiben, als ich dann das Kommando wie oben genannt eingegebenhabe war ich verwirrt, weil natürlich exestiert die Datei ja. Ich will ja nur diesen Service auch aktivieren, beim neustart soll diese Datei ausgeführt werden aber es passiert nicht, obowhl die meldung sagt das es bereits exestiert.

        • Avatar-Foto
          Janis 19. Februar 2023 um 12:57 - Antworten

          Ich kann dir nicht ganz folgen, welchen Befehl du meinst. Unter [CODE] /etc/systemd/system/[/CODE] kommt der oben genannte Code hinein, unter [CODE]/usr/local/bin/[/CODE] dann der Code von deinem Script.

Hinterlasse einen Kommentar