A script arra készült, hogy nagyobb mennyiségű IP címet végignézzen egy listából, és kiszedhető legyen a működő, vagy a nem működő esetleg mindkettő csoport. Több listát is készíthetünk, és a programnak az első paramétereként a megfelelőt kell megadni.
Kimenetbe többféle kimenetet beleraktam.
#!/bin/bash
# A program képes egy listából kiszedni IP címeket és az IP címhez tartozó megjegyzést.
# Az IP címeket végigpingeli majd egy fájlba kiírja az eredményt. Ezt a fájlt megjeleníthetjük
# shellben, conkyban vagy akár figyelmeztető üzenetkén is. A scriptet az /usr/local/bin mappába kell másolni
# nálam ping2vrf néven. A listát pedig a HOME könyvtárban találhato lista változó által hivatkozott könyvtárba kell elhelyezni.
# Lista formátuma IP cím [TABULÁTOR v. SPACE] majd a megjeleníteni kívánt szöveg.
# A parancs meghívásakor a lista könyvtárban elhelyezett fájl nevére kell paraméterként hivatkozni.
#
# Második paraméterként megadható hogy a működő (ok) a nem működő (hiba) vagy mindkettő kimenetet szeretnénk látni.
# Példák: ping2vrf LISTA --> Ilyenkor mindent megjelenít
# ping2vrf LISTA ok --> Csak a működő végpontokat írja ki
# ping2vrf LISTA hiba --> Csak a hibás végpontokat írja ki
# ping2vrf LISTA uzok --> Buborékablakban jelenik meg a kimenet
# ping2vrf LISTA uzhiba --> -||-
lista=~/lista/ #Lista fájlok könyvtára HOME könyvtáron belül
PKIM=/tmp/pingkimenet.log #Kimeneti fájl
touch $PKIM #Létrehozzuk a kimeneti fájlt
for i in `cat $lista$1 | awk '{print $1 }'` #Pingeljük a listában megadott címeket
do
ping -nqc 1 $i >/dev/null;k=`echo $?`
case $k in
0) echo `cat $lista$1 |grep -w $i| awk '{print $1," ",$2," ELÉRHETŐ" }'`>> $PKIM;;
1) echo `cat $lista$1 |grep -w $i| awk '{print $1," ",$2," NEM ÉRHETŐ EL!"}'`>> $PKIM;;
2) echo $i "Valami hiba van";;
esac
done
case $2 in #Itt van definiálva a kimenet.
ok) cat $PKIM | grep -w 'ELÉRHETŐ';;
hiba) cat $PKIM | grep -w 'NEM ÉRHETŐ EL!';;
uzok) notify-send --icon=gtk-dialog-warning --urgency=critical -t 70000 "Elérhető" "`cat $PKIM | grep -w 'ELÉRHETŐ' | awk '{print $1," ",$2}'`";;
uzhiba) notify-send --icon=gtk-dialog-warning --urgency=critical -t 70000 "Nem érhető el" "`cat $PKIM | grep -w 'NEM ÉRHETŐ EL!' | awk '{print $1," ",$2}'`";;
*) notify-send --icon=gtk-dialog-warning --urgency=critical -t 70000 "Végpontok" "`cat $PKIM`";;
esac
rm $PKIM
exit 0