| EnderUNIX İpucuArkadaşı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)   [3002]
 
 #!/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
 |  |