So schreiben Sie einen einfachen Systemd -Dienst

So schreiben Sie einen einfachen Systemd -Dienst

Zielsetzung

Schreiben Sie einen grundlegenden Systemdienst.

Verteilungen

Dies funktioniert bei jeder Verteilung, die systemd ausgeführt wird.

Anforderungen

Eine funktionierende Linux -Installation mit Systemd- und Root -Privilegien.

Konventionen

  • # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Einführung

Systemd ist nahezu unvermeidlich. Es hat so viele Aspekte des Linux -Ökosystems durchdrungen, dass es für jeden Linux -Administrator zumindest die Grundlagen der Funktionsweise des Funktionierens ermittelt werden muss.

Eines der Hauptverkaufsargument von SystemD ist die einfache Schreibdienstedateien. Sie sind keine Skripte. Stattdessen sind es grundlegende Konfigurationsdateien. Während sie komplex werden können, sind sie normalerweise sehr einfach.

Erstellen Sie die Datei

Systemd -Dienste existieren bei /etc/systemd/system. Wenn Sie Ihr System schauen, sind sie alle da. Eigentlich öffnen Sie sich sshd.Service. Scannen und sehen, was da ist. Sie werden wahrscheinlich nicht alles wissen, aber Sie können sicherlich etwas davon verstehen und erkennen, wie einfach es ist.

Beliebig .Service Datei, die Sie in diesem Verzeichnis erstellen.

Erstellen Sie eine Datei, die Sie mit dem möchten .Service Verlängerung.

Einheit

Der erste Abschnitt, den Sie schreiben müssen, ist die [Einheit]. Für einen grundlegenden Service ist nur eine grundlegende Beschreibung Ihres Dienstes erforderlich. Starten Sie es auf diese Weise.

[Einheit] Beschreibung = ein bisschen über Ihren Service

Service

Der [Service] Block ist der Großteil des Inhalts der Konfiguration. Dies ist der Block, der die Richtlinien enthält, die dem Dienst ergeben, wie und wo zu laufen ist.

Erstellen Sie den Block. Das erste, was Sie sich auslegen müssen, ist die Art von Dienst, die er ist. Dies ist nur ein einfacher Service. Sagen Sie also Systemd, dass das.

Typ = einfach

Dieses nächste Stück ist wahrscheinlich das wichtigste. Sie müssen Systemd mitteilen, was auszuführen ist. Dies ist eigentlich ein regulärer Befehl oder ein Anruf bei einem Skript. Schauen Sie sich das Beispiel an.

Execstart =/opt/scripts/run-backup.sh-full-zu-external

Natürlich haben Sie dieses Skript nicht, aber Sie können sehen, wie Sie nur den gleichen Befehl verwenden, den Sie normalerweise ausführen würden.

Systemd ist auch sehr in der Lage, fehlgeschlagene Dienste neu zu starten. Dies ist ein weiterer Parameter, den Sie in dieser Konfiguration festlegen können. Wenn Sie möchten, dass es neu gestartet wird, wenn es fehlschlägt, versuchen Sie Folgendes.

Neu starten = vorgezogen

Es kann auch hilfreich sein, eine PID -Datei für Ihren Dienst anzugeben, falls sie eine erfordert.

PIDFILE =/TMP/YOHRService.PID

Wenn Sie einen bestimmten Benutzer oder ein bestimmtes Verzeichnis haben möchten oder benötigen, können Sie dies auch tun.

User = srvuser WorkingDirectory =/var/yourService

Sie können auch ein Laufzeitverzeichnis und die Dateiberechtigungen dieses Verzeichnisses festlegen, während Sie verwendet werden.

RunTimedirectory = yourService runimedirectoryMode = 0755

Es gibt noch viel mehr, was Sie tun können, aber mit diesen Grundlagen sollten Sie in der Lage sein, Ihre eigenen einfachen Dienste zusammenzustellen und mit vorhandenen zusammenzuarbeiten.

Installieren

Schließlich gibt es das [Installieren] Block. Alles, was Sie hier tun müssen, ist anzugeben, wie Ihr Dienst aktiviert werden soll. Der häufigste Weg, dies zu tun, ist mit Multi-Benutzer.Ziel.

[Install] wantby = multi-user.Ziel

Gedanken schließen

Das ist alles hier ist für die Grundlagen. Sie können sicherlich grundlegende und sogar etwas fortgeschrittenere Dienste erstellen und ändern. Hoffentlich gewinnen Sie mehr Vertrauen in die Arbeit mit Systemd und werden komfortabler, um Ihre eigenen Servicedateien mit mehr Erfahrung zu erstellen.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Linux -Download
  • Beste Linux -Distribution für Entwickler
  • OpenLiteSespeed -Installation unter Linux
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten
  • MX Linux gegen Ubuntu
  • Kann Linux Viren bekommen?? Erforschung der Verwundbarkeit von Linux…
  • Grundlegende Linux -Befehle