Całkiem niedawno mój dostawca internetu, zmienił czas resetowania swojego sprzętu.
Na 3 godzine w nocy, po każdym restarcie mój serwer ( Ubuntu ) nie mógł się podlączyć.
Trzeba było mu pomóc 🙂 Z pomocą przychodzi nam język Bash.
Opis skryptu:
Potrzebujemy, aby komputer po wykonaniu pingu stwierdził:
Czy internet jest, czy go nie ma.
I wykonał odpowiednie komendy i następnie zapisał „brak internetu”,
do logu w wybranym przez nas miejscu.
Nic strasznego, jak sie przekonałem! 🙂
Kod:
#!/bin/bash
( ping -c1 wp.pl )
# Możemy wybrać zamiast wp.pl, całkiem inny adres na którym ma być sprawdzany ping.
if [ "$?" -eq "2" ];
then
echo "internet nie dziala!"
# Dostajemy informacje iż internet nie działa.
iwconfig wlan0 essid X & /etc/init.d/networking restart
# Wpisujemy komendy jakie mają być wykonane.
time=`date`
echo $time " <-- brak dostępu do internetu" >> /mnt/dysk3/internet.log
# Miejsce gdzie ma być zapisywany log !
else
echo "Internet dziala"
fi
Plik zapisujemy w interesującej nas lokalizacji, np. /etc/skrypt
Prosta sprawa, zostanie sprawdzony ping, po otrzymaniu odpowiedzi pozytywnej „brak internetu” -> zostanie uruchomiona komenda + zapisanie do logu odpowiedniej notki ( data ) kiedy nasz internet przestał działać.
W przypadku gdy internet działa, zostaniemy powiadomieni „internet działa”.
To tyle jeśli chodzi o skrypt.Aby nasz skrypt, był uruchamiany co minutę,
musimy dodać odpowiedni wpis do /etc/crontab
Edytujemy plik:
nano /etc/crontab
I dodajemy linijkę:
*/1 * * * * root /bin/sh /etc/skrypt
Od teraz nasz skrypt powinien dzialać.
Mamy bezpieczeństwo iż skrypt zostanie uruchomiony, podczas rozlączenia. 😉
Skrypt pisałem sam, po przeczytaniu poradników.
Polecam zainteresować się tą stroną.
www.linux.rk.edu.pl/w/p/bash-skrypt