EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ Shell Scripting ]

"Verilen IP Araligini Pingleyen, Down Makine Varsa Admine Bildiren Script" - Caner Bulut - (2008-09-09 01:07:10)   [3812]

#!/bin/bash
#
# ping programi
#
# Hazirlayan : Caner BULUT

shopt -s -o nounset

#Degiskenler
DOSYA=/tmp/ping.txt
ALIP=/tmp/networks.txt
declare ILKIP
declare SONIP
declare PAKET
declare -i ILKHOST
declare -i SONHOST
declare NETWORK
declare -i UZIP1
declare -i UZIP2
declare -i HOSTUZ1
declare -i HOSTUZ2
declare -i NETUZ
declare TEMP # dinamik olarak degisen ipler
declare KEY
declare KEY1
declare SATIR

MENU()
{
printf "%s\n" "Lutfen Yapmak Istediginiz Islemi Menuden Seciniz."
printf "%s\n" "Secim Icin Rakamlari Kullaniniz <1,2,3,4>"
printf "\n"
printf "%s\n" "< 1 > -- Networkleri yada LAN Tarama"
printf "%s\n" "< 2 > -- Konfigurasyon Dosyalarini Duzenleme"
printf "%s\n" "< 3 > -- Makine Durumlarini Gozlemleme"
printf "%s\n" "< 4 > -- Hata Mesajlarini Goruntuleme"
printf "%s\n" "< 5 > -- Programdan Cikis"
printf "\n"
}
clear

# /tmp/networks.txt dosyasinin olusturulmasi...
if [ ! -f "$ALIP" ] ; then
touch /tmp/networks.txt
printf "%s" "www.XXX.com">>$ALIP
fi


MENU
while read -p " Seciminiz :" KEY ; do
if [ "$KEY" = "1" ] ; then
clear
printf "%s\n" "< a > Konfigurasyon Dosyasindaki Networkleri Tarama"
printf "%s\n" "< b > Girilen IP Araligini Tarama"
read -p "Lutfen Seciminizi Yapiniz. :" KEY1
if [ "$KEY1" = "b" ] ; then
read -p "Ilk Ip yi Giriniz :" ILKIP
read -p "Son Ip yi Giriniz :" SONIP
UZIP1="${#ILKIP}"
UZIP2="${#SONIP}"

#Araliktaki ilk ve son hostun bulunmasi...
ILKHOST="${ILKIP##1*.}"
SONHOST="${SONIP##1*.}"
HOSTUZ1="${#ILKHOST}"
HOSTUZ2="${#SONHOST}"

#Network Uzunlugunun Bulunmasi...
NETUZ=UZIP1-HOSTUZ1-1
NETWORK="${ILKIP:0:$NETUZ}"

#Makinelere Ping Atilmasi Ve Gerekli Bilgilerin Dosyalara Yazilmasi...
for ((COUNTER=$ILKHOST; COUNTER<$SONHOST+1; COUNTER++)) ; do
DENE=$NETWORK.$COUNTER
ping -c1 "$DENE">/dev/null
if [ $? = 0 ] ; then
printf " %s Computer is UP " "$DENE"
printf "\n"
else
#Bilgilerin Dosyaya Yazilmasi...:
printf " %s Computer is DOWN " "$DENE"
printf " %s Computer is DOWN Saat Bilgisi-->" "$DENE">>$DOSYA
#mail -c "deneme" "canerbulut@ttnet.net.tr"
date '+%H:%M:%S'>>$DOSYA
printf "\n"
#mail atilmasi...
#mail -s "$DENE is down" canerbulut@ttnet.net.tr
fi
done
fi

#Iplerin networks.txt dosyasindan alinip kontrol edilmesi...
if [ "$KEY1" = "a" ] ; then
exec 3<$ALIP
while read LINE<&3 ; do
ping -c1 "$LINE">/dev/null
if [ $? = 0 ] ; then
printf "%s is UP" "$LINE"
printf "\n"
else
printf "%s is DOWN" "$LINE"
printf "\n"
#mail atilmasi ...
#mail -s "$LINE is Down" canerbulut@ttnet.net.tr
fi
done
read -p "Menuye Donmek Icin Herhangi Bir Tusa Basiniz." KEY1
fi
fi
if [ "$KEY" = "2" ] ; then
clear
printf "%s\n" "Hazirlik Asamasinda"
read -p "Menuye Donmek Icin Herhangi Bir Tusa Basiniz." KEY
fi
if [ "$KEY" = "3" ] ; then
clear
printf "%s\n" "Hazirlik Asamasinda"
read -p "Menuye Donmek Icin Bir Tusa Basiniz ." KEY
fi
if [ "$KEY" = "4" ] ; then
clear
printf "%s\n" "Hazirlik Asamasinda"
read -p "Menuye Donmek Icin Bir Tusa Basiniz." KEY
fi
if [ "$KEY" = "5" ] ; then
exit 192
fi
clear
MENU
done

exit 0


Arkadaşıma gönder , Ana Sayfa