Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie starte ich Dienste automatisch neu, wenn sie nicht verfügbar sind?

oben unten
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Shell-Skript zum Neustarten der Dienste bei Ausfall / Absturz

Es ist üblich, dass der Prozess aus verschiedenen Gründen abstürzt / ausfällt. Sie können die Probleme untersuchen und beheben, dies kann jedoch einige Zeit dauern.

Eines können Sie jedoch sofort tun, um die Ausfallzeiten zu reduzieren Verfügbarkeit ist, den Neustart des Prozesses zu automatisieren, wenn er nicht funktioniert.

Lassen Sie uns dies über die Autobahn erledigen - Shell-Skripte

Sie können die folgenden Shell-Skripte zum Durchlaufen verwenden crontabDies überprüft die Dienste alle 15 Minuten (Sie können die Intervallzeit anpassen) und startet, wenn festgestellt wird, dass sie nicht ausgeführt werden. Hört sich cool an?

In diesem Artikel werde ich zwei Beispiele für das Starten der Dienste geben, wenn diese nicht verfügbar sind.

Wenn Sie CentOS / RHEL 7+ verwenden, können Sie dies auch überprüfen Dieser Artikel erklärt die Verwendung von systemd Neustarten.

Auto-restart MySQL, PHP-FPM, Nginx if down

Vor ein paar Wochen bin ich zu Geek Flare gezogen DigitalOcean mit EasyEngine und MariaDB stürzte zweimal in einer Woche ab.

Mariadb-abgestürzt

Sie sehen, es stürzte am frühen Morgen ab und war länger als 3 Stunden außer Betrieb, was nicht gut ist. Es ist mein Blog, also keine Auswirkungen auf $$$, aber ich fühle mich trotzdem schlecht dafür.

Ok, Showtime jetzt ...

  • Erstellen Sie eine Datei mit vi-Editoren an Ihrem gewünschten Speicherort (in dieser Demo werde ich sie unter /opt/startifdown.sh)
  • Kopieren Sie das folgende Skript, fügen Sie es in die Datei ein und speichern Sie es
#!/bin/bash
#Scripts to start services if not running
ps -ef | grep nginx |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/nginx start > /dev/null
fi
ps -ef | grep php5-fpm |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/php5-fpm start > /dev/null
fi
ps -ef | grep mysql |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/mysql start > /dev/null 
fi
  • Ändern Sie die Dateiberechtigung so, dass sie ausführbar ist
chmod 755 startifdown.sh

Testen Sie es manuell, um sicherzustellen, dass das Skript ausführbar ist.

Sie können den Dienst beenden und mithilfe des Skripts überprüfen, ob er gestartet wird. Sobald Sie zufrieden sind, können Sie dies in cron setzen, um alle 15 Minuten zu laufen.

*/1 * * * * /opt/startifdown.sh

Verweisen Sie meine Crontab Artikel Wenn Sie Inspiration zum Ändern der Intervallzeit benötigen.

Jetzt wird sich dieses kleine Skript darum kümmern Starten der Dienste Wenn es abgestürzt ist und ich diese 3 Stunden Ausfallzeit nicht habe.

Viel besser!

Auto-restart WebSphere DMGR, Nodeagent, JVM if down

Erstellen Sie eine Datei mit folgenden Skripten - ich werde sie startwasifdown.sh nennen

#!/bin/bash
#Scripts to start services if not running
#Specify DMGR Path Here
DMGR=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01
#Specify Profile Path Here
Profile=/opt/IBM/WebSphere/AppServer/profiles/AppSrv01
ps -ef | grep dmgr |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $DMGR/bin/startManager.sh > /dev/null
fi
ps -ef | grep nodeagent |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $Profile/bin/startNode.sh > /dev/null
fi
ps -ef | grep server1 |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $Profile/bin/startServer.sh server1 > /dev/null
fi

Hinweis: Ändern Sie den Pfad entsprechend Ihrer Umgebung und fügen Sie mehr Zeilen für mehr als eine JVM hinzu.

  • Ändern Sie die Dateiberechtigung so, dass sie ausführbar ist
chmod 755 startwasifdown.sh

Testen Sie es manuell, und wenn Sie damit zufrieden sind, können Sie es in cron legen, um es alle 15 Minuten auszuführen, oder was auch immer zu Ihnen passt.

*/1 * * * * /opt/ startwasifdown.sh

Dies ist nur eine Richtlinie für Sie, um das Zeug zu automatisieren.

Liebe Automatisierung? Lernen Bash Shell Scripting.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu Linux
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder