Beispiel zum Einrichten eines Linux-Systems zur automatischen Ausführung eines Skripts beim Start

Beispiel zum Einrichten eines Linux-Systems zur automatischen Ausführung eines Skripts beim Start

Vorwort

Hallo zusammen, ich bin Liang Xu.

Bei der Arbeit besteht häufig die Anforderung, nach dem Systemstart automatisch ein Skript oder einen Dienst zu starten. Unter Windows gibt es viele Möglichkeiten, den Start einzurichten, aber wie machen wir das im Linux-System?

Es ist auch möglich, den Start unter Linux festzulegen, aber wir müssen möglicherweise einige Befehle eingeben (möglicherweise gibt es auch eine Einstellungsmethode in der UI-Schnittstelle, aber ich kenne mich damit nicht aus, ich spiele lieber mit Befehlen). Nachfolgend stellen wir drei einfache, aber praktikable Methoden für die Starteinstellungen vor.

Methode 1: Ändern Sie die Datei /etc/rc.d/rc.local

Die Datei /etc/rc.d/rc.local wird ausgeführt, nachdem alle Dienste des Linux-Systems gestartet wurden. Wenn Sie also möchten, dass nach dem Booten Ihr eigenes Skript ausgeführt wird, können Sie dieser Datei Ihren eigenen Skriptpfad hinzufügen.

Sie müssen jedoch zunächst sicherstellen, dass Sie über die Berechtigung zum Ausführen dieser Datei verfügen.

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

Zu Demonstrationszwecken haben wir ein Skript erstellt, das bei Ausführung eine Datei mit bestimmten Informationen in das Home-Verzeichnis schreibt.

$ vim auto_run_script.sh

#!/bin/bash
Datum >> /home/alvin/output.txt
Hostname >> /home/alvin/output.txt

Nach dem Speichern und Beenden erteilen Sie ihm Ausführungsberechtigungen:

$ chmod +x auto_run_script.sh

Dann fügen wir das Skript der letzten Zeile der Datei /etc/rc.d/rc.local hinzu:

$ vim /etc/rc.d/rc.local

/home/alvin/auto_run_script.sh

Als nächstes können wir den Effekt ausprobieren. Starten Sie einfach das System neu:

$ sudo Neustart

Nach dem Neustart sehen Sie die Ergebnisse der Skriptausführung im Home-Verzeichnis.

Methode 2: Verwenden von crontab

Wie wir alle wissen, ist crontab eine geplante Aufgabe unter Linux. Wenn die von uns festgelegte Zeit erreicht ist, kann sie automatisch die Ausführung bestimmter Skripts auslösen.

Wir können die geplante Aufgabenzeit selbst festlegen und dann das entsprechende Skript schreiben. Es gibt jedoch eine spezielle Aufgabe namens @reboot. Aus der wörtlichen Bedeutung können wir erkennen, dass diese Aufgabe darin besteht, nach dem Neustart des Systems automatisch ein Skript auszuführen.

Also, welches Skript wird ausgeführt? Wie richten wir dieses Skript ein? Wir können es über crontab -e festlegen.

$ crontab -e

@reboot /home/alvin/auto_run_script.sh

Dann einfach neu starten. Der Laufeffekt ist dem oben beschriebenen ähnlich.

Methode 3: Verwenden des systemd-Dienstes

Die beiden oben beschriebenen Methoden können auf jedem Linux-System verwendet werden. Diese Methode ist jedoch nur auf systemd-Systeme anwendbar. Wie kann man erkennen, ob es sich um ein systemd-System handelt? Es ist ganz einfach. Führen Sie einfach den Befehl ps aux aus, um zu sehen, ob der Prozess mit PID 1 systemd ist.

Um dies zu erreichen, müssen wir einen systemd-Startdienst erstellen und ihn im Verzeichnis /etc/systemd/system/ platzieren.

Der von uns erstellte systemd-Startdienst ist wie folgt. Bitte beachten Sie, dass das Suffix .service statt .sh ist.

$ vim auto_run_script.service

[Einheit]
Beschreibung=Beim Start ein benutzerdefiniertes Skript ausführen
Nach=Standard.Ziel

[Service]
ExecStart=/home/alvin/auto_run_script.sh

[Installieren]
Gesucht von = Standard.Ziel

Aus dem Inhalt des Dienstes können wir erkennen, dass wir letztendlich das Skript /home/alvin/auto_run_script.sh aufrufen werden.

Dann platzieren wir dieses Skript im Verzeichnis /etc/systemd/systerm/ und führen dann die folgenden beiden Befehle aus, um die systemd-Konfigurationsdatei zu aktualisieren und den Dienst zu starten.

$ systemctl daemon-neu laden
$ systemctl aktiviere auto_run_script.service

Nachdem alles fertig ist, können wir das System neu starten.

$ Neustart

Zusammenfassen

Dies ist das Ende dieses Artikels über das Einrichten eines Linux-Systems, um beim Start automatisch Skripte auszuführen. Weitere relevante Linux-Startskripte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Drei Möglichkeiten, den automatischen Start von Linux-Diensten einzurichten
  • So richten Sie Oracle so ein, dass es beim Booten unter Linux automatisch gestartet wird
  • Oracle-Startskript unter Linux und dessen Start
  • Starten und Stoppen von Oracle-Diensten und automatischer Start des Bootvorgangs unter Linux
  • So richten Sie den Redis-Start in Linux ein
  • Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)
  • Schritte zum Starten des Nodemanagers beim Linux-Boot
  • Redis-Passworteinstellung und Autostart unter Linux
  • Detaillierte Erklärung des Linux-Bootvorgangs
  • So starten Sie den Redis-Dienst automatisch, wenn Linux hochfährt

<<:  Vue implementiert Paging-Funktion

>>:  Ein kurzes Verständnis des Unterschieds zwischen MySQL Union All und Union

Artikel empfehlen

Detaillierte Analyse des langsamen Abfrageproblems beim Senden von MySQL-Daten

Anhand eines Beispiels habe ich Ihnen die Lösung ...

Optimierte Aufzeichnung der Verwendung von IN-Datenvolumen in Mysql

Die MySQL-Versionsnummer ist 5.7.28. Tabelle A ha...

Detaillierte Erklärung der JavaScript-Funktion dieses Zeigeproblems

Inhaltsverzeichnis 1. Die Richtung davon in der F...

So verwenden Sie den Linux-Befehl whatis

01. Befehlsübersicht Der Befehl whatis sucht in e...

HTML Table Tag Tutorial (47): Verschachtelte Tabellen

<br />Der Schriftsatz auf der Seite erfolgt ...

Detaillierte Erklärung des VueRouter-Routings

Inhaltsverzeichnis Vue-Router 1. Verstehen Sie da...

Zusammenfassung des Verständnisses des virtuellen DOM in Vue

Es handelt sich im Wesentlichen um ein allgemeine...

Verwenden Sie das ab-Tool, um einen API-Stresstest auf dem Server durchzuführen

Inhaltsverzeichnis 1 Eine kurze Einführung in den...

MySQL-Lerndatenbank-Suchanweisung DQL Xiaobai Kapitel

Inhaltsverzeichnis 1. Einfacher Datenabruf 2. Dat...

SQL-Implementierung von LeetCode (182. Doppelte Postfächer)

[LeetCode] 182.Doppelte E-Mails Schreiben Sie ein...

Allgemeine Front-End-JavaScript-Methodenkapselung

Inhaltsverzeichnis 1. Geben Sie einen Wert ein un...

Implementierungsprinzip der MySQL MyISAM-Standardspeicher-Engine

Standardmäßig generiert die MyISAM-Tabelle drei D...

Die am häufigsten verwendeten HTML-Tags zum Erstellen von Webseiten

1. Optimierung häufig verwendeter HTML-Tags HTML ...

Eine Minute, um die Laufruhe von HTML+Vue+Element-UI zu erleben

Technik-Fan html-Webseite, müssen Sie wissen Von ...

Docker-Overlay realisiert die Container-Kommunikation zwischen Hosts

Inhaltsverzeichnis 1. Docker-Konfiguration 2. Ers...