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.305 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.

1551 Aufrufe

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

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

  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    39
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    148
  • Beim Löschen von Dateien in Nextcloud landen diese im Papierkorb und bleiben dort, bis dieser manuell geleert wird. Möchte man Dateien im Papierkorb automatisch nach einer bestimmten Zeit löschen lassen, muss die Konfiguration entsprechend angepasst werden. Die Papierkorb-Funktion ist[...]

    10.12.2023 20:57

    89
  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    39
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    148