Ein Shell -Skript zum Senden von E -Mail -Alarm, wenn der Speicher niedrig wird

Ein Shell -Skript zum Senden von E -Mail -Alarm, wenn der Speicher niedrig wird

Ein leistungsstarker Aspekt von UNIX/Linux -Shell -Programmen wie z verprügeln, Ist ihre erstaunliche Unterstützung für allgemeine Programmierkonstrukte, mit denen Sie Entscheidungen treffen, Befehle wiederholt ausführen, neue Funktionen erstellen und vieles mehr. Sie können Befehle in einer Datei schreiben, die als Shell -Skript bekannt ist und diese gemeinsam ausführen.

Dies bietet Ihnen ein zuverlässiges und effektives Mittel zur Systemverwaltung. Sie können Skripte schreiben, um Aufgaben zu automatisieren, beispielsweise tägliche Backups, Systemaktualisierungen usw.. Erstellen Sie neue benutzerdefinierte Befehle/Dienstprogramme/Tools und darüber hinaus. Sie können Skripte schreiben, um Ihnen dabei zu helfen.

Eine der kritischen Komponenten eines Servers ist der Speicher (Speicher (RAM), es wirkt sich stark auf die Gesamtleistung eines Systems aus.

In diesem Artikel werden wir ein kleines, aber nützliches Shell -Skript weitergeben, um eine Alarm -E -Mail an einen oder mehrere Systemadministratoren zu senden, wenn der Serverspeicher niedrig ausgeführt wird.

Dieses Skript ist besonders nützlich, um ein Auge auf das Auge zu behalten Linux VPS (Virtuelle private Server) mit geringer Menge an Gedächtnis, beispielsweise von ungefähr 1 GB (etwa 990 MB).

Testumgebungsaufbau

  1. A CentOS/Rhel 7 Produktionsserver mit Mailx Das Dienstprogramm wird mit dem Arbeitsversand für Postfix -Mail -Server installiert.

So die wie die Alertmemory.Sch Skript funktioniert: Zuerst überprüft es die kostenlose Speichergröße und bestimmt dann, ob die Menge des freien Speichers geringer oder gleich einer angegebenen Größe ist (100 MB für den Zweck dieses Handbuchs), verwendet als Benchmarke für die am wenigsten akzeptable freie Speichergröße.

Wenn diese Bedingung wahr ist, generiert sie eine Liste der Top -10 -Prozesse, die den Server -RAM konsumieren.

Notiz: Sie müssen ein paar Änderungen am Skript vornehmen (insbesondere das Versorgungsunternehmen von Mail -Absender, verwenden Sie die entsprechenden Flags), um Ihre Linux -Distributionsanforderungen zu erfüllen.

Shell -Skript zum Überprüfen des Serverspeichers
#!/bin/bash ##################################################################################################### zu erhalten ########################################## #Script Name: alertmemory.SH #Description: Alert Mail senden Wenn der Serverspeicher niedrig ausgeführt wird ####################################################################################################################### zu erhalten ######################### ## E -Mail -Variablen ## ## E -Mail Betreff thema = "Serverspeicherstatuswarnung"## Mail senden wie von ="[E -Mail geschützt]"## Post an ="[E -Mail geschützt]"## CO2 -Kopie an auch_to ="[E -Mail geschützt]"## Erhalten Sie die Gesamtfreiheit der kostenlosen Speichergröße in Megabyte (MB) Free = $ (Free -mt | Grep Total | awk 'print $ 4') ## Überprüfen Sie, ob der kostenlose Speicher geringer oder gleich ist 100 MB Wenn [["$ Free" -le 100 ]]; Dann ## Top -Prozesse konsumieren Sie den Systemspeicher und speichern in der temporären Datei PS -EO PID, PPID, CMD,%mem,%cpu - -sort = -%mem | Kopf>/tmp/top_proccesses_consuming_memory.txtdatei =/tmp/top_proccesses_consuming_memory.TXT ## E -Mail senden Wenn der Systemspeicher Low echo -e ausführt!\ n \ nFree Speicher: $ Free Mb "| mailx -a" $ file "-S" $ betreff 

Nach dem Erstellen Ihres Skripts /etc/scripts/alertmemory.Sch, Machen Sie es ausführbar und symlink zu Cron.stündlich.

# Chmod +x/etc/scripts/alertmemory.sh # ln -s -t /etc /cron.stündlich/alertmemory.sh/etc/scripts/alertmemory.Sch 

Dies bedeutet, dass das obige Skript nach jeder 1 Stunde ausgeführt wird, solange der Server ausgeführt wird.

Spitze: Sie können testen, ob es wie beabsichtigt funktioniert, den Wert der Bankmarke ein wenig hoch einstellen, um einfach eine E -Mail auszulösen, die gesendet werden soll, und ein kleines Intervall von ca. 5 Minuten festlegen.

Überprüfen Sie dann weiterhin aus der Befehlszeile mit dem im Skript angegebenen kostenlosen Befehl. Sobald Sie bestätigen, dass es funktioniert, definieren Sie die tatsächlichen Werte, die Sie verwenden möchten.

Im Folgenden finden Sie einen Screenshot.

Linux -Speicher -E -Mail -Warnung

Das ist alles! In diesem Artikel haben wir erklärt, wie man Shell -Skript verwendet, um Warnungs -E -Mails an Systemadministratoren zu senden, damit der Serverspeicher (RAM) niedrig ausgeführt wird. Sie können alle Gedanken über dieses Thema über das Feedback -Formular unten teilen.