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