[LINUX] Schreiben wir ein entsprechendes Ping-Bestätigungsskript

Schreiben wir ein entsprechendes Ping-Bestätigungsskript

Bedarf

Ziel-IP-Liste

Ich werde es wie folgt beschreiben.

192.168.11.21
192.168.11.29
192.168.11.69
192.168.11.88
192.168.11.99

Skriptkörper

So was.

bash


#!/bin/bash
LANG=C;
export LANG;
:> ~/mail.dat;
while read line;do
  _RET_=`ping -c 5 -i 1 -w 10 -s 32 ${line} | grep 'loss' | grep -oP '[0-9]+%'`;
  echo "${line} ${_RET_} loss";
  [ "0%" == "${_RET_}" ] && continue;
  echo "${line} ${_RET_} loss" >> ~/mail.dat;
done <~/ip_node.list;
_RET_=`du ~/mail.dat | awk '{print $1}' | xargs expr`;
[ ! 0 -eq ${_RET_} ] && mail -s "IP packet loss alert." -r [from addr] [to addr] < ~/mail.dat;
exit 0;

Skriptkörper (mit Kommentaren)

bash


#!/bin/bash
LANG=C;
export LANG;   #Wenn das Ping-Ergebnis auf Japanisch angezeigt wird, ist der reguläre Ausdruck von grep problematisch, also LANG=Fixiert auf C.

:> ~/mail.dat;   #Setzen Sie den Text für die E-Mail-Benachrichtigung auf 0 Byte

while read line;do   #Geben Sie die Datei in den unten stehenden Teil ein$Jede Zeile enthält eine Variable

  _RET_=`ping -c 5 -i 1 -w 10 -s 32 ${line} | grep 'loss' | grep -oP '[0-9]+%'`;   #Führen Sie Ping durch, passen Sie Optionen usw. nach Ihren Wünschen an und erhalten Sie das passende Teil mit gpre

  echo "${line} ${_RET_} loss";

  [ "0%" == "${_RET_}" ] && continue;   # 0%Abgesehen von der Benachrichtigung ist dies in Ordnung

  echo "${line} ${_RET_} loss" >> ~/mail.dat;   #Schreiben Sie zur Benachrichtigung

done <~/ip_node.list;

_RET_=`du ~/mail.dat | awk '{print $1}' | xargs expr`;   #Holen Sie sich die Größe der Datei zur Benachrichtigung

[ ! 0 -eq ${_RET_} ] && mail -s "IP packet loss alert." -r [from addr] [to addr] < ~/mail.dat;   #Wenn nicht Null, benachrichtigen Sie

exit 0;

Recommended Posts

Schreiben wir ein entsprechendes Ping-Bestätigungsskript
Erstellen eines Shell-Skripts zum Schreiben eines Tagebuchs
Schreiben Sie ein Skript, um einen MySQL-Dump in TSV zu konvertieren
Versuchen Sie, eine Sprache auszuwählen
Ich werde nie vergessen, wie man ein Shell-Skript schreibt, nicht vergessen! !!
Versuchen Sie, eine Bezier-Kurve zu zeichnen
Schreiben Sie die Standardausgabe in eine Datei
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Schreiben Sie ein Programm, das das Programm missbraucht und 100 E-Mails sendet
Schreiben Sie ein Skript, um die Entfernung mit dem Elasticsearch 5-System schmerzfrei zu berechnen
Machen wir einen Jupyter-Kernel
[Ubuntu] So führen Sie ein Shell-Skript aus
Ein einfaches IDAPython-Skript zum Benennen einer Funktion
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
Skript zum Erstellen einer Mac-Wörterbuchdatei
So führen Sie Maya Python-Skripte aus
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Warum muss Python einen Doppelpunkt schreiben?
So schreiben Sie einen ShellScript Bash für Anweisung
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
Ich habe ein Skript geschrieben, um ein WordPress-Plug-In hochzuladen
Wie schreibe ich ein benanntes Tupeldokument im Jahr 2020?
[Go] So schreiben oder rufen Sie eine Funktion auf
Ich möchte mit Python in eine Datei schreiben
So schreiben Sie eine ShellScript-Bash-Case-Anweisung
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Versuchen Sie, mit Tkinter in Python dynamisch einen Checkbutton zu erstellen
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht
Ein Beispiel, um Faktorisierungsmaschinen schnell mit fastFM auszuprobieren
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
So erstellen Sie ein einfaches TCP-Server / Client-Skript
Schreiben Sie Code in UnitTest, eine Python-Webanwendung
Generieren Sie ein Bash-Skript, um die Einstellungen des Datadog-Monitors hinzuzufügen