Gebräuchliche Dienste in Linux können beim Booten problemlos hinzugefügt werden, da die meisten von ihnen mit einem eigenen Skript ausgestattet sind, das mit den Befehlen ‚chkconfig‘ und ’systemctl‘ ausgeführt wird.

Um zum Beispiel den Dienst „Apache httpd“ beim Booten hinzuzufügen, führen Sie einen der folgenden Befehle auf der Grundlage Ihres Systemmanagers aus. In ähnlicher Weise können Sie jeden bekannten Dienst bei Bedarf beim Start hinzufügen.

Für Sys V init system:

# chkconfig --level 35 httpd on

Für systemd system:

# systemctl enable httpd

Gelegentlich müssen Sie vielleicht ein benutzerdefiniertes Skript oder einen Befehl oder einen Dienst beim Start/Boot hinzufügen. Wenn ja, wie macht man das?

In diesem Artikel werden wir verstehen, wie man die folgenden drei Methoden zur Implementierung verwendet:

  • Verwendung der /etc/rc.d/rc.local
  • Nutzung der crontab-Datei
  • Systemd-Diensteinheit

Methode-1: Nutzung der /etc/rc.d/rc.local-Datei

Die „/etc/rc.local“-Datei wird traditionell ausgeführt, nachdem alle normalen Computerdienste am Ende des Prozesses des Wechsels in einen Mehrbenutzer-Runlevel gestartet wurden.

Diese Methode funktioniert auch auf dem systemd-System, und Sie müssen den Speicherort Ihres Skripts zur Datei „/etc/rc.d/rc.local“ hinzufügen, damit es beim Booten ausgeführt wird.

Stellen Sie sicher, dass die Datei die Berechtigung zur Ausführung hat.

# chmod +x /etc/rc.d/rc.local

Um dies im Detail zu verstehen, werden wir ein einfaches Skript wie unten gezeigt erstellen, aber Sie können jedes Skript nach Bedarf erstellen:

# vi /opt/scripts/run-script-on-boot.sh#!/bin/bashdate > /root/on-boot-output.txthostname > /root/on-boot-output.txt

Wenn das Skript fertig ist, setzen Sie die Ausführungserlaubnis wie unten gezeigt:

# chmod +x /opt/scripts/run-script-on-boot.sh

Schließlich fügen Sie das Skript am Ende der Datei hinzu:

# vi /etc/rc.d/rc.local/opt/scripts/run-script-on-boot.sh

Starten Sie Ihr System neu, um dies zu überprüfen:

# reboot

Methode-2: Verwendung der crontab-Datei

cron führt geplante Aufträge automatisch im Backend zu einer bestimmten Zeit aus.

Dies kann einfach mit einer speziellen Zeichenkette namens "@reboot" mit cron job erreicht werden.

@reboot ist eine spezielle Zeichenkette und erlaubt dem Benutzer, jeden Befehl oder jedes Skript beim Start (Boot-Zeit) auszuführen.

Dieses Beispiel führt die Datei ‚/opt/scripts/run-script-on-boot.sh‘ beim Neustart des Systems aus.

Wir werden das gleiche Skript verwenden, das im obigen Beispiel erstellt wurde. Fügen Sie dazu einfach den folgenden Eintrag in die crontab-Datei ein:

# crontab -e@reboot /opt/scripts/run-script-on-boot.sh

Starten Sie Ihr System neu, um dies zu überprüfen:

# reboot

Methode-3: Verwendung der systemd-Diensteinheit

Diese Methode funktioniert nur auf dem systemd-System und ist sehr einfach.

Zu diesem Zweck müssen Sie ein systemd-Startskript erstellen und es im Verzeichnis „/etc/systemd/system/“ ablegen.

Dies ist unser Beispiel für ein systemd-Startskript:

# vi sample-on-boot-script.serviceDescription=Run a Custom Script at StartupAfter=default.targetExecStart=/opt/scripts/run-script-on-boot.shWantedBy=default.target

Nachdem Sie das Skript im systemd-Verzeichnis abgelegt haben, führen Sie den folgenden Befehl aus, um die systemd-Konfigurationsdateien zu aktualisieren und den Dienst zu aktivieren:

# systemctl daemon-reload# systemctl enable sample-on-boot-script.service

Starten Sie Ihr System neu, um dies zu überprüfen:

# reboot

Bonus-Tipps:

Wenn Sie ein Skript im Hintergrund ausführen möchten, müssen Sie das nachgestellte kaufmännische Und-Symbol "&" hinzufügen.

/Path/To/My_Script &

Wenn Sie den Befehl unter einem anderen Benutzer ausführen möchten, verwenden Sie das folgende Format:

su - $USER -c /Path/To/My_Script

Abschluss

Dieses Tutorial beschreibt kurz, wie Sie ein benutzerdefiniertes Skript oder einen Befehl oder einen Dienst beim Start hinzufügen können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.