Hilfreiche Ratschläge

So starten Sie Dienste unter Linux neu

Pin
Send
Share
Send
Send


Es scheint, das könnte einfacher sein? Nur etwas - fahren Sie einen Server mit Linux herunter oder starten Sie ihn neu. Zum Ausschalten geben Sie einfach den Befehl ein

Diese Maßnahmen mögen auf den ersten Blick auch technisch (ohne die damit verbundenen organisatorischen Probleme zu berühren) einfach erscheinen. Erfahrene Systemadministratoren wissen jedoch, dass für jedes Betriebssystem auch ein regelmäßiger und korrekter Neustart negative Folgen haben kann. Dies ist hauptsächlich auf die Qualität vor dem Neustart der Wartung und des Betriebs zurückzuführen. Daher müssen Sie verstehen, dass Linux am häufigsten neu gestartet oder heruntergefahren wird. Ohne Übertreibung sind sie recht verantwortungsbewusst, und Administratoren sollten sich immer daran erinnern.

System neu starten und herunterfahren - warum ist das so wichtig?

Linux OS vertraut auf die Arbeit, die den langfristigen und zuverlässigen Betrieb komplexer Einheiten, technologischer Installationen, Datenbankserver (DB), Webserver usw. gewährleisten soll. Diese werden von einer großen Anzahl von Benutzern, Betreibern und Wartungspersonal verwendet. Herunterfahren und Neustarten sind für jedes System unumgänglich. Diese Maßnahmen sollten jedoch mit minimalem Risiko durchgeführt werden. Sowohl für Aufgaben von Servern als auch für Benutzer.

UNIX und Linux reagierten früher sehr empfindlich auf Neustarts. Mit dem Aufkommen von hochzuverlässigen Journaldateisystemen (FS) ist das Stoppen oder Neustarten jedoch viel sicherer geworden. Die Wahrscheinlichkeit einer Beschädigung der Konfiguration oder des Betriebssystems selbst, wenn der Computer (oder Server) falsch ausgeschaltet wird, ist jedoch nicht vollständig ausgeschlossen. Beispielsweise führt ein abnormales Herunterfahren von Datenbankservern sehr häufig zu einer Verletzung der Datenintegrität und zu einer Beschädigung von Tabellen. Es spielt keine Rolle, welche Art von Datenbankmanagementsystem (DBMS) für deren Wartung verwendet wird. Probleme, die unter Linux auftreten, sind normalerweise nur schwer zu identifizieren. Weil die Architekturmerkmale von Linux es selbst ermöglichen, auch bei komplexen Kollisionen zu funktionieren. Wenn es jedoch an der Zeit ist, das Betriebssystem neu zu starten, treten diese versteckten Probleme häufig sofort auf. Was oft mit einem Zusammenbruch einhergeht.

Erfahrene Systemadministratoren wissen, dass bei Änderungen am System, z. B. Startskripten, Konfiguration einzelner Komponenten usw., ein Neustart dringend empfohlen wird, um sicherzustellen, dass das System nach diesen Änderungen ordnungsgemäß funktioniert. Stellen Sie sicher, dass Sie die Protokolle (Logs) überprüfen, um das Auftreten versteckter und komplexer Probleme nicht zu verpassen. Gleichzeitig müssen Sie bedenken, dass Probleme möglicherweise nicht sofort oder erst nach einigen Wochen auftreten. Viele Faktoren beeinflussen dies und alles hängt von der jeweiligen Situation ab.

Befehl zum Herunterfahren

Mit diesem Befehl können Sie das Betriebssystem sicher und technisch korrekt neu starten, stoppen oder in den Einzelbenutzermodus versetzen. Für verschiedene Systeme das Team Herunterfahren Da Syntax und Optionen anders spezifiziert sind, ist es sinnvoll, sie allgemein zu betrachten, da sie nur einige Verwendungsmerkmale betreffen.

Da Aktivitäten wie das Neustarten und Herunterfahren häufig viele Benutzer betreffen, müssen Systemadministratoren in der Lage sein, sie im Voraus vor diesen Aktionen zu warnen, bevor sie ausgeführt werden. Das team Herunterfahren Hierfür können Sie eine Pause hinzufügen, während der Nachrichten über ein bevorstehendes Ereignis (Herunterfahren oder Neustart) an Benutzer gesendet werden. Das Senden dieser Nachrichten wird standardmäßig in kürzeren Zeitintervallen wiederholt und enthält Text zur Art des bevorstehenden Ereignisses, für das auch die verbleibende Zeit angegeben wird. Der Administrator kann je nach Situation einen beliebigen Nachrichtentext festlegen. Nach dem Herunterfahren können sich Benutzer natürlich nicht mehr anmelden, es wird jedoch die ganze Zeit über eine Informationsmeldung angezeigt, die über den Befehl ausgegeben wird Herunterfahren.

Die Art der Aktion Herunterfahren es wird durch die Parameter eingestellt und diese können sein:

  • normaler Halt
  • Normaler Stopp gefolgt von automatischem Start (Neustart),
  • Übergang in den Einzelbenutzermodus,
  • Einige andere verwandte Aktionen (je nach System), z. B. Überprüfen von Speichergeräten mit dem Befehl fsck.

Im letzteren Fall Überprüfung fsck kann erzwungen werden, da diese Prüfung in modernen Betriebssystemen standardmäßig automatisch beim Start ausgeführt wird, nur wenn die Bereitstellung von Dateisystemen nicht ordnungsgemäß aufgehoben wurde.

Die folgende Tabelle zeigt die Hauptoptionen. Herunterfahren für einige Linux-Systeme:

Das SystemDer WegRHSF
Linux/ sbin / shutdown-r-h-f
Solaris/ usr / sbin / shutdown-i6-i0-iS
HP-UX/ etc / shutdown-r-h
Aix/ sbin / shutdown-r-h-m

Die folgende Notation wird für dieses System verwendet: R - Neustart, H - normaler Stopp, S - fortgesetzter Betrieb im Einzelbenutzermodus, F - Deaktivierungsprüfung fsck (nur relevant für SUSE und Red Hat).

Um Linux um 8:30 Uhr zu stoppen (z. B. für die routinemäßige Wartung von Servern) und die Benutzer zu benachrichtigen, sollten Sie den folgenden Befehl ausführen:

Wenn Sie die relative Zeit zum Stoppen / Neustarten einstellen müssen:

Befehle zum Anhalten und Neustarten

Diese Befehle sollten im Zusammenhang mit der Tatsache betrachtet werden, dass sie zwar unabhängig voneinander verwendet werden können, aber normalerweise von demselben Team aufgerufen werden Herunterfahren.

Auf Abruf halt Alle grundlegenden Aktionen, die für das normale Herunterfahren des Betriebssystems erforderlich sind, werden ausgeführt. Zum Beispiel wird zuerst der Abschluss aller nicht kritischen Prozesse durchgeführt, eine Abschaltnachricht in das Logbuch eingetragen, dann der Synchronisierungssystemaufruf ausgeführt und die Speichergeräte von Schreibvorgängen befreit. Dann funktioniert der Systemkern nicht mehr.

Eine der wichtigsten Optionen halt ist der Schlüssel -n. Es verbietet die Verwendung eines Systemaufrufs. synchronisieren damit der Kernel die "alten" Images der Root-Partition, die in seinem Cache gespeichert sind, nicht wiederherstellt. Mit anderen Worten, halt -n wird verwendet, nachdem die Partition mit fsck wiederhergestellt wurde.

Das team neustarten verschieden von halt nur, dass es standardmäßig neu gestartet wird. Sie können jedoch einige nützliche Aktionen ausführen, bevor Sie das System neu starten. Sie können beispielsweise keine Nachrichten über den bevorstehenden Neustart an Benutzer senden, die den Schlüssel verwenden - Keine Wand. Wenn Sie nur ein Ereignis in einer Datei aufzeichnen müssen / var / log / wtmp (Diese Datei registriert alle Eintritts- und Austrittsereignisse im Betriebssystem.) Dann müssen Sie den Schlüssel verwenden -w (oder - Nur mit Wtmp), während ein Neustart nicht erfolgt. So führen Sie einen Neustart durch, ohne Einträge in der Datei vorzunehmen / var / log / wtmpEs gibt einen Schlüssel -d (oder - No-wtmp) Auch mit dem Befehl neustarten Es ist möglich, das System zu stoppen und die Maschine mit den Schlüsseln auszuschalten - Halt und -p (- Ausschalten) bzw.. Für einen erzwungenen und sofortigen Neustart wird ein Schlüssel verwendet -f (-force). Auf den meisten Systemen werden alle Tasten für einen Befehl beschrieben neustarten bewerben Sie sich bei Team halt mit dem gleichen Wert.

Wenn Sie einen Fehler finden, wählen Sie bitte einen Text aus und drücken Sie Strg + Enter.

Unit Management Basics

Die grundlegenden Komponenten, die systemd steuert, sind Einheiten. Es gibt viele Arten von Einheiten, der häufigste Typ ist ein Dienst (Dateien mit der Erweiterung .service). Das Hauptwerkzeug für die Verwaltung der Dienste ist das Systemteam.

Der Befehl systemctl hat für jeden Standardinitialisierungssystembefehl eine eigene Entsprechung. Betrachten Sie als Beispiel die Datei nginx.service.

Hinweis: Um diese Datei zu erhalten, installieren Sie Nginx.

Geben Sie zum Starten des Dienstes Folgendes ein:

sudo systemctl starte nginx.service

So beenden Sie den Dienst:

sudo systemctl stoppt nginx.service

Sie können den Dienst folgendermaßen neu starten:

sudo systemctl starte nginx.service neu

Geben Sie zum Neustart ohne Unterbrechung Folgendes ein:

sudo systemctl lade nginx.service neu

Einheiten aktivieren und deaktivieren

Standardmäßig werden die meisten Systemeinheiten nicht automatisch gestartet. Um den Autostart eines Geräts zu konfigurieren, müssen Sie es aktivieren. Dadurch wird das Gerät mit einer bestimmten Zielkomponente verbunden und das Gerät startet mit dieser.

Geben Sie Folgendes ein, um den Start des Dienstes zu konfigurieren:

sudo systemctl aktivieren Sie nginx.service

So deaktivieren Sie den Dienst:

sudo systemctl deaktiviere nginx.service

Systemstatus

Der systemd-Server kann Informationen bereitstellen, anhand derer auf den aktuellen Zustand des Systems geschlossen werden kann.

Um beispielsweise eine Liste aller aktiven System-Unit-Dateien zu erhalten, geben Sie Folgendes ein:

Geben Sie Folgendes ein, um eine Liste aller Einheiten anzuzeigen, die von systemd geladen wurden oder in den Speicher geladen wurden (einschließlich inaktiver Einheiten):

systemctl list-units --all

Geben Sie Folgendes ein, um eine Liste aller installierten Einheiten anzuzeigen (einschließlich der Einheiten, die systemd nicht in den Speicher geladen hat):

Protokolle anzeigen

Eine als Journald bezeichnete systemd-Komponente sammelt und verwaltet systemweite Protokolleinträge, dh Anwendungs- und Kernelprotokolldaten.

Geben Sie Folgendes ein, um alle Datensätze anzuzeigen, die mit dem ältesten Datensatz beginnen:

Standardmäßig werden mit diesem Befehl die Datensätze der aktuellen und vorherigen Downloads angezeigt (wenn das Journald-Tool so konfiguriert ist, dass Datensätze aus früheren Downloads gespeichert werden). Einige Distributionen enthalten dieses Verhalten standardmäßig und andere nicht. Um das Speichern von Datensätzen aus früheren Downloads zu aktivieren, können Sie:

  1. Bearbeiten Sie die Datei /etc/systemd/journald.conf. Ändern Sie den Wert von Storage = in persistent.
  2. Erstellen Sie ein permanentes Verzeichnis mit dem Befehl:

sudo mkdir -p / var / log / journal

Geben Sie Folgendes ein, um nur die Datensätze des aktuellen Downloads anzuzeigen:

Kernel-Einträge (die normalerweise als dmesg dargestellt werden) können mit dem folgenden Befehl angezeigt werden:

Wenn Sie die Flags -k und -b kombinieren, können Sie Kernel-Einträge nur für den aktuellen Start abrufen.

Gerätestatus

Die obigen Befehle bieten Zugriff auf Informationen zum allgemeinen Status des Systems. Mit dem Befehl systemctl können Sie auch Daten zum Status einzelner Einheiten abrufen.

Verwenden Sie die Statusoption, um den aktuellen Status einer Einheit zu ermitteln. Der Befehl gibt den Status des Geräts (Ein oder Aus), die Verarbeitungsinformationen und die neuesten Einträge im Protokoll zurück:

Systemstatus nginx.service

Verwenden Sie das Flag –u und den Befehl journalctl, um alle Journaleinträge anzuzeigen, die von einer bestimmten Einheit erstellt wurden:

journalctl -u nginx.service

Wie zuvor können Sie die Ausgabe mit dem Flag –b auf die aktuelle Last begrenzen:

journalctl -b -u nginx.service

Überprüfen von Einheiten und Einheitendateien

Jetzt wissen Sie, wie Sie Einheiten starten und stoppen, ihren Status anzeigen und Einträge protokollieren, um einen Eindruck davon zu bekommen, was mit diesem Prozess geschieht. Es ist Zeit zu lernen, wie andere Aspekte von Einheiten und Einheitendateien überprüft werden.

Jede Unit-Datei enthält Parameter, mit denen systemd sie starten und stoppen kann. Geben Sie Folgendes ein, um den Inhalt einer Unit-Datei anzuzeigen:

systemctl cat nginx.service

Geben Sie Folgendes ein, um den Einheitenabhängigkeitsbaum anzuzeigen (welches System beim Start der Einheit eingeschaltet wird):

systemctl list-dependencies nginx.service

Dieser Befehl zeigt eine Liste der abhängigen Einheiten und der Zieleinheiten an. Geben Sie Folgendes ein, um eine erweiterte Liste der Abhängigkeiten zu erhalten:

systemctl list-dependencies --all nginx.service

Verwenden Sie die folgende Option, um Details zu den Einheiteneinstellungen anzuzeigen:

systemctl show nginx.service

Dieser Befehl gibt die Werte aller Parameter zurück, die von systemd gesteuert werden.

Bearbeiten von Unit-Dateien

Mit dem systemd-System können Sie Unit-Dateien mit dem Befehl systemctl ändern.

Verwenden Sie die Bearbeitungsoption, um ein Unit-Datei-Snippet hinzuzufügen, das später zum Erweitern oder Überschreiben der Parameter von Standard-Unit-Dateien verwendet werden kann:

sudo systemctl edit nginx.service

Verwenden Sie die Option –full, um den Inhalt einer Datei vollständig zu bearbeiten, ohne ein Snippet zu erstellen:

sudo systemctl edit --full nginx.service

Starten Sie nach dem Bearbeiten der Unit-Datei den systemd-Prozess neu, damit die Änderungen wirksam werden:

sudo systemctl daemon-reload

Führen Sie Ebenen aus

Eine weitere wichtige Funktion des Initialisierungssystems ist der Übergang des Servers zwischen verschiedenen Zuständen. In herkömmlichen Initialisierungssystemen wird dies normalerweise als Runlevel bezeichnet, wobei sich ein System immer nur auf einem Runlevel befinden kann.

In systemd wurde das Konzept der Runlevel durch sogenannte Targets ersetzt. Ziele sind Synchronisationspunkte, über die der Server den Status wechseln kann. Dienste und andere Gerätedateien können an Ziele gebunden werden. Darüber hinaus kann das System mehrere Ziele gleichzeitig verwenden.

Geben Sie zum Anzeigen der verfügbaren Ziele Folgendes ein:

systemctl list-unit-files --type = target

Geben Sie Folgendes ein, um das Standardziel anzuzeigen, das systemd unmittelbar nach dem Start verwendet (es startet wiederum alle Unit-Dateien, die Teil seines Abhängigkeitsbaums sind):

Verwenden Sie die Option set-default, um das Standardziel zu ändern:

sudo systemctl set-default multi-user.target

Geben Sie Folgendes ein, um an ein Ziel gebundene Einheiten anzuzeigen:

systemctl list-dependencies multi-user.target

Mit der Isolierungsoption können Sie die Ziele wechseln. Stellen Sie jedoch vor dem Wechseln des Ziels sicher, dass das neue Ziel kritische Dienste nicht deaktiviert.

sudo systemctl isoliere multi-user.target

Stoppen Sie den Server und starten Sie ihn neu

Das Initialisierungssystem kann auch verkürzte Befehle verwenden. Geben Sie zum Deaktivieren des Servers beispielsweise Folgendes ein:

sudo systemctl poweroff

Wenn Sie den Server neu starten möchten, geben Sie Folgendes ein:

sudo systemctl neu starten

Geben Sie Folgendes ein, um den Server im Wiederherstellungsmodus zu starten:

sudo systemctl retten

Die meisten Betriebssysteme können für die häufigsten Vorgänge herkömmliche Aliase verwenden. Das heißt, Sie können den Befehl systemctl weglassen und einfach Folgendes eingeben:

Sudo-Abschaltung
sudo neu starten

Beachten Sie jedoch, dass diese Funktion nicht immer unterstützt wird.

Apache2 Neustart / Start / Stopp /

Für Benutzer von Ubuntu und Debian Systemd - Ubuntu 04/18 / 16.04 und Debian 9.x verwenden Sie die folgenden Befehle:

Starten Sie Apache2, indem Sie ausführen

Stoppen Sie Apache2, indem Sie ausführen

Starten Sie Apache2 neu, indem Sie ausführen

Überprüfen des Status von Apache2:

Um zu überprüfen, ob der Webserver wirklich funktioniert, öffnen Sie Ihren Browser und geben Sie die IP-Adresse Ihres Servers ein

Sie sollten in der Lage sein, die Standard-Apache-Seite wie folgt anzuzeigen:

Für ältere Versionen von Ubuntu -14.10 und höher und Debian

Starten Sie den Apache2-Dienst durch Ausführen

Beenden Sie den Apache2-Dienst durch Starten

Überprüfen Sie den Apache2-Status

Sehen Sie sich das Video an: Tutorial: Befehle beim Start eines Linux Servers ausführen lassen Deutsch Full-HD (Juli 2020).

Pin
Send
Share
Send
Send