[LINUX] [Für Anfänger] Prozessüberwachung mit cron

Einführung

――Es wird wie bisher ein Artikel für Anfänger sein.

――Ich schreibe nicht im Detail über Cron. Wenn Sie also nicht viel über Cron wissen, ist es möglicherweise einfacher zu verstehen, wenn Sie den vorherigen Artikel lesen oder ihn lesen.

Skriptübersicht

--Prozessüberwachung

Code

vi


crontab -e 

*/5 * * * * /bin/sh shell.sh


ShellScript


#! /bin/bash

PROCESS_NAME=nginx

count=`pgrep $PROCESS_NAME | wc -l`

if [ $count = 0 ]; then

    echo "$PROCESS_NAME is stop"

    systemctl start nginx

    echo "$PROCESS_NAME is Start"

else
    echo "$PROCESS_NAME is running"
fi

Kommentar

vi


crontab -e 

*/5 * * * * /bin/sh shell.sh
//Wenn Sie das Obige in crontab schreiben, wird das Shell-Set alle 5 Minuten ausgeführt.

*/5 * * * * /bin/sh shell.sh >> /Jeder Ort/log.txt 2>&1
//Wenn Sie den Inhalt als Datei ausführen möchten, können Sie ihn wie folgt schreiben.
//2>&1 ist eine Mischung aus Standardausgabe und Fehler.

ShellScript


#! /bin/bash 
//Dies ist wie ein Klischee beim Schreiben einer Muschel.

PROCESS_NAME=nginx
//Hier definieren Sie den Prozess, den Sie überwachen möchten. Diesmal ist es Nginx.

count=`pgrep $PROCESS_NAME | wc -l`
//Ich möchte die laufenden Prozesse zählen, also zähle ich die Anzahl der Prozesse und ordne sie einer Variablen zu.
//Rufen Sie eine Liste der Prozess-IDs ab, die dem Muster mit pgrep entsprechen.
// |(Pipeline)Mit wc-Verbinden Sie l, um die Anzahl der Zeilen im Prozess zu erhalten.
* Nebenbei kann wc zusätzlich zur Anzahl der Zeilen die Anzahl der Wörter und Bytes anzeigen, da die Wortanzahl der Ursprung des Namens ist.

if [ $count = 0 ]; then

    echo "$PROCESS_NAME is stop"

    systemctl start nginx

    echo "$PROCESS_NAME is Start"

else
    echo "$PROCESS_NAME is running"
fi

//Wenn die Anzahl der zuvor in dieser if-Anweisung definierten Prozesse 0 ist, bedeutet dies, dass nginx gestoppt wird. Schreiben Sie also die Shell, um wie oben zu beginnen.
//Wenn nicht, hat der Nginx-Prozess normal gestartet und wird dagegen wiedergegeben."$PROCESS_NAME is running"Ist zurück gekommen.

―― Es ist einfach, diese Cron-Einstellung mit dem beschriebenen Shell-Skript zu kombinieren, aber Sie können die Shell alle 5 Minuten ausführen, um den Prozess zu überprüfen. Wenn der Prozess gestoppt wird, wird er automatisch gestartet.

Referenzseite

――Sie können Ihr Verständnis von Shell-Skripten vertiefen, indem Sie die folgenden Artikel lesen.

Einführung grundlegender Befehle für Shell-Skripte für Anfänger [UNIX & Linux Command Shell Skriptreferenz] (https://shellscript.sunone.me/tutorial.html)

Schließlich

Dieses Mal habe ich einen Artikel über die Prozessüberwachung mit cron geschrieben, der eine Fortsetzung des Artikels ist, den ich zuletzt geschrieben habe. Wenn Sie Fehler haben, lassen Sie es mich bitte in den Kommentaren usw. wissen, da dies meine Studie sein wird. Das nächste Mal möchte ich einen Artikel über Vagrant- und Middleware-Einstellungen schreiben.

Recommended Posts

[Für Anfänger] Prozessüberwachung mit cron
Implementierung und Beschreibung mit XGBoost für Anfänger
Lassen Sie uns Covid-19 (Corona) -Daten mit Python analysieren [Für Anfänger]
Spacemacs-Einstellungen (für Anfänger)
Rückkehr nach dem Gaußschen Verfahren
Python Lehrbuch für Anfänger
Ich habe versucht, Cron zu verwenden
Dikstra-Algorithmus für Anfänger
OpenCV für Python-Anfänger
[Python] Einführung in die Diagrammerstellung mit Corona-Virendaten [Für Anfänger]
[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)
Abnormalitätserkennung durch Auto-Encoder mit Keras [Implementierungsbeispiel für Anfänger]
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Gaußsche Prozessregression mit GPy
Innenüberwachung mit Raspberry Pi
Lernablauf für Python-Anfänger
[Für Anfänger] Kaggle-Übung (Merucari)
Empfohlene Linux-Distribution für Anfänger
Überwachung von Website-Änderungen mit Python
CNN (1) zur Bildklassifizierung (für Anfänger)
Python3-Umgebungskonstruktion (für Anfänger)
Übersicht über Docker (für Anfänger)
Python #Funktion 2 für Super-Anfänger
Prozess auf GPU mit chainer.cuda.elementwise
Grundlegende Python-Grammatik für Anfänger
ShinobiLayer: Prozessüberwachung mit erweiterter Überwachung
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Für Kaggle-Anfänger] Titanic (LightGBM)
Linux Command Memorandum [für Anfänger]
Praktische Linux-Verknüpfung (für Anfänger)
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)