Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Dzień doberek
Mówie z góry że na programowaniu po powłoce znam się bardzo słabo. Na zaliczenie z informatyki mam przygotować skrypt, który ma sprawdzać czy dane komputery są w sieci poprzez wysłanie do nich pinga. Mam taki skrypcik ktory działa jak należy, ale:
ping -c 5 adres_ip |grep ttl |grep -v "grep" > /dev/null
let wynik=$?
if [ $wynik -eq 1 ]
then
echo "Ping do adres_ip nie dziala !!!"
else
echo "Polaczenie z adres_ip dziala prawidlowo ;)"
fi
############################################
mam do niego wprowadzić usprawnienie, mianowicie ma być wydzielony osobny plik w którym będą znajdowały się adresy IP komputerów które będą sprawdzane czyli:
Ma być skrypt i osobny plik konfiguracyjny, który zawiera adresy ip komputerów. Wówczas gdy wywołamy skrypt ping bedzie sprawdzał każdy z tych komputerów pokolei (pobierając informacje o komputerach z pliku konfiguracyjnego).
Aha takie pytanko, czy macie może jakieś skrypty które pomogą mi diagnozować sieć (właśnie coś podobnego jak ten z tym pingiem) jeśli tak to proszę o wklejenie zawartości i oczywiście pomoc w tej sprawie.
Dziękuje pozdruuufffkki ;)
Offline
zarys tego skryptu bedzie wygladal tak:
#!/bin/bash lista=`cat PLIK` for zm in $lista do ping -c 5 $zm #dalsze instrukcje done
gdzie PLIK to nazwa pliku z wpisanymi ip komputerow
Offline
super Tomku dziala jak nalezy, ale w moim skrypcie nie wykazuje który dokładnie adres IP nie działa :(
# Nazwa pliku i sciezka dostepu do plikow z raportem #
LOG=/var/log/warning.log
#Plik z numerami IP
CONF_FILE=hosty
clear
for zm in $CONF_FILE
do
ping -c 1 $CONF_FILE |grep ttl |grep -v "grep" > /dev/null
done
let wynik=$?
if [ $wynik -eq 1 ]
then
echo "" >> $LOG
echo "Raport sprawdzajacy poprawnosc polaczenia z $CONF_FILE" >> $LOG
date >> $LOG
echo "Ping do $CONF_FILE nie dziala !!!" >> $LOG
echo "" >> $LOG
echo "" >> $LOG
echo "Polaczenie z $CONF_FILE nie dziala !!!"
else
echo "Polaczenie z $CONF_FILE dziala prawidlowo" >> $LOG
fi
##
Proszę pomóżcie ;)
dziękuje pozdrufffki
Offline
Cos widze angeliczka, ze nie do konca zakumalas petle for:) Skroce twe meki i zamieszcze gotowy skrypt:
#!/bin/bash lista=`cat plik` #plik - nazwa pliku z ip LOG=log #log nazwa pliku do zapisu logow for zm in $lista do ping -c 1 $zm > /dev/null wynik=$? if [ $wynik -eq 1 ] then echo "Ping do $zm nie dziala" >> $LOG else echo "Ping do $zm dziala" >> $LOG fi done
tylko sobie pozmieniaj plik i log (tam gdzie komentarze) wedle uznania
ps rob wciecia w kodzie, to bedzie czytelniej!
ps2 http://www.republika.pl/dief/main.html
Offline
dziękuje Tomuś za pomoc ;)
pozdrawiam
Offline