So führen Sie das Skript auf dem Boot -Up in Debian Top 10 aus

So führen Sie das Skript auf dem Boot -Up in Debian Top 10 aus
In diesem Tutorial wird erläutert, wie Skripte oder Dienste bei Startup oder Boot in Debian 11 und in basierten Linux -Distributionen ausgeführt werden können.

Um Dienste und Skripte bei Debian 11 ordnungsgemäß hinzuzufügen, müssen Sie Systemd -Einheiten erstellen. Dieses Tutorial konzentriert sich auf Systemd -Einheiten. Wenn Sie nach schnellen Anweisungen suchen, um ein Skript beim Boot auszuführen, springen.

Was ist eine System -Einheit??

Systemd -Einheiten sind Konfigurationsdateien, die Informationen für die richtige Verwaltung oder Ausführung bestimmter Systemdateien enthalten. Systemd-Einheiten können zum Verwalten von Diensten, Steckdosen, Geräten, Mountspunkten, Automount-Punkten, Swap-Dateien oder Partitionen, einem Startziel, einem von Systemd, einem Ressourcenverwaltungsschnitt oder einer Gruppe kontrollierten und überwachten Timer-Timer verwaltet werden von extern erstellten Prozessen.

Systemd -Einheiten befinden sich im Verzeichnis /etc/systemd/system. Jedes Skript, das Sie mithilfe von Systemd -Einheiten am Start ausführen möchten, muss in einer Datei (Einheit) unter diesem Verzeichnis angegeben werden.
Eine schnelle Ansicht, die den Befehl LS verwendet, zeigt uns die vorhandenen Systemd -Einheiten in unserem System.

LS/etc/systemd/System

Eine der Dateien, die nicht im obigen Screenshot enthalten waren Kater.Service deren Inhalt scheint das folgende Bild zu sein.

Notiz: Die folgenden Informationen müssen mit Einheitskonfigurationsdateien vertraut gemacht werden. Machen Sie sich keine Sorgen, das Gerät, das Sie erstellen, um Ihr Skript auszuführen.

Wo die [Einheit] Richtlinien:

Beschreibung: Mit dieser Anweisung können Sie eine Beschreibung für ein Gerät hinzufügen. Hier können Sie den zu identifizierten Einheitsnamen festlegen.

Will: Hier können Sie die Abhängigkeiten der Einheit angeben. Beachten Sie, dass es für diesen ähnlichen Zweck verschiedene Anweisungen gibt. Zum Beispiel die Richtlinie Erfordert wird verwendet, um strenge Abhängigkeiten anzugeben, ohne die das Gerät nicht funktionieren kann. Im Gegensatz zu den Anforderungen wird Wünsche verwendet, um Abhängigkeiten anzugeben, ohne die das Gerät weiter funktionieren kann.

Nach: Die aktuelle Einheit beginnt nach der in dieser Anweisung angegebenen Einheit.

[Service] Abschnittsrichtlinien:

Typ: Im vorherigen Beispiel zeigt die Gaberabluft an, dass der Dienst getötet werden muss, während Kinderprozesse beibehalten werden, denen eine PID zugewiesen werden muss.

Umfeld: Hier können Sie die Umgebungsvariablen der Einheit angeben.

ExecStart: Mit dieser Anweisung können Sie den Pfad und die Befehle angeben, die Sie ausführen möchten.

ExecStop: Sie können den Befehl angeben, mit dem das Gerät gestoppt wird.

Successexitstatus: Diese Anweisung ermöglicht es Ihnen, den Exit -Status und die Signale anzugeben.

Benutzer: Sie können den Benutzerbesitzer des Geräts angeben.

Gruppe: Sie können den Gruppenbesitzer der Einheit angeben.

Ummask: Sie können die Benutzermaske angeben.

Neustart: Wenn das Gerät automatisch neu gestartet wird, können Sie hier die Zeit angeben, um zu warten, um den Neustart des Dienstes erneut zu starten.

Neu starten: Sie können für systemd definieren, wenn das Gerät neu gestartet werden soll. Die verfügbaren Optionen sind immer, auf Failure, On-Abort, On-Taste, On-Watchdog und Onomal.

Die Richtlinie [Install] im obigen Beispiel ist gewählt.

Gesucht von: Diese Anweisung ermöglicht es Ihnen, die Einheit als Abhängigkeit zu definieren. es ähnelt dem Will Richtlinie, aber angeben, ob die aktuelle Einheit von einer anderen Einheit als Abhängigkeit angesehen wird.

Andere gemeinsame Richtlinien im Abschnitt [Einheit], die nicht im vorherigen Screenshot enthalten waren:

Erfordert: In dieser Richtlinie können Sie Abhängigkeiten angeben, um Startfehler zu verhindern. Entgegen der Will Richtlinie, wenn eine mit der Richtlinie angegebene Abhängigkeit nicht erfüllt ist, funktioniert das Gerät nicht.

Im Abschnitt [Service]:

Pidfile: Die Gabelanweisung erfordert die PIDFile.

StartLimitInterval: Gibt an.

StartlimitBurst: Diese Richtlinie gibt die Grenze der Versuche im vorherigen Beispiel an, 10 Versuche in 60 Sekunden.

Weitere Informationen zu Systemd -Einheiten erhalten Sie aus:
https: // Manpages.Debian.org/jessie/systemd/systemd.Einheit.5.en.html.

Erstellen einer Systemd -Einheit, um ein Skript bei BOOT auf Debian 11 auszuführen

Das Ausführen eines Skripts am Start kann einfacher sein und weniger Konfiguration als die enthalten Kater.Service Datei zuvor verwendet, um den gemeinsamen Inhalt des Geräts anzuzeigen.

Wie bereits erwähnt, befinden sich die Dateien (Einheiten), die die Informationen zu am Start ausgeführten Skripten enthalten /etc/systemd/system. Um ein Skript zu definieren, das Sie am Boot ausgeführt werden sollen, müssen Sie ein neues Gerät für dieses Skript erstellen. Ein Gerät unter erstellen /etc/systemd/system, Sie können Nano verwenden, wie im folgenden Beispiel gezeigt, in dem ich eine Einheit namens erstelle Skript.Service, Sie können es so nennen, wie Sie es für bequem halten, Ihr Skript zu identifizieren.

sudo nano/etc/systemd/system/script.Service

Der Inhalt des Geräts für Ihr Skript ist einfacher als der Kater.Service zuvor als Beispiel verwendet.

Kopieren und fügen Sie den folgenden Code in die Datei ein, unter denen Sie erstellt wurden /etc/systemd/system.

Notiz: Ersetzen mit Ihrem Skriptnamen und mit dem Weg zu Ihrem Skript.

[Einheit]
Beschreibung = Ihr Skriptname hier
Nach = Standard.Ziel
[Service]
Execstart =/path/to/script.Sch
[Installieren]
ShodeBy = Standard.Ziel

Nach dem Kopieren des Inhalts in die Datei unter /etc/systemd/system/, Sie müssen es mit dem Befehl systemCTL wie unten gezeigt aktivieren. Ersetzen mit dem richtigen Namen, den Sie dem Gerät zugewiesen haben.

Jetzt ist Ihr Skript bereit, bei Start up in Debian 11 zu laufen.

Abschluss

Wie Sie sehen können. Jede Linux -Benutzerebene kann diese Aufgabe erledigen, indem nur eine einfache Datei im Verzeichnis der Einheiten erstellt wird. Natürlich bietet Linux zusätzliche Methoden zum Ausführen von Skripten am Boot, die in diesem Tutorial wie Cron nicht beschrieben wurden. Jeder Linux -Benutzer sollte wissen. Sowohl Systemd -Einheiten als auch Cron sind akzeptierte Methoden, während RC.Lokal oder init.D Skripte sind veraltet.

Vielen Dank, dass Sie dieses Tutorial gelesen haben, um zu erläutern. Folgen Sie uns weiter, um zusätzliche Linux -Tipps und Tutorials zu erhalten.