Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest środa, 25 czerwca 2025, 23:55

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 4 ] 
Autor Wiadomość
Post: czwartek, 11 maja 2006, 20:30 
Offline
Użytkownik

Rejestracja: niedziela, 18 września 2005, 12:51
Posty: 234
Witam Jak poprawić ten skypcik, żeby pingował kilka wskazanych adresów ip i jeżeli nie dostanie odpowiedzi z żadnego, to dopiero zrobił reset???
#!/usr/bin/perl

$log_dir = "/var/log/reseter"; # system log file
$d = "/bin/date"; # path to date program
$host = "192.168.0.10"; # host to check
$rp = "/bin/reseter"; # path to reseter
$rt = "10"; # reset time (default 1s)



$t1 = `$d +"%b"`; chop($t1);
$t2 = `$d +"%e"`; chop($t2);
$t3 = `$d +"%X"`; chop($t3);


$stat = system("ping -c 1 $host >/dev/null");
$host = `hostname`; chop($host);

if($stat == 0) { exit(0); } # connection okay? if yes -> exit.

system("$rp $rt");

open(LOG, ">>$log_dir");
print LOG "$t1 $t2 $t3 $host RESETER: Connection to $host lost! Reseting.";
close(LOG);


Niestety, pingowanie AP mi nic nie daje, bo zawiesza mi się na WAN, a LAN działa dalej i pomimo, że wisi, daje się pingować. Chcę tak zrobić, by pingować komputery do niego podpięte. Niestety, jedne są włączone, drugie nie, stąd mój pomysł, żeby pingował wszystkie i w razie braku odpowiedzi od żadnego, dopiero robił reset.

_________________
nnd-linux-0.1-2005.07.10 Pentium II 400 Ram-256 2XHDD-10GB


Ostatnio zmieniony sobota, 13 maja 2006, 17:47 przez jarek_1313, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 11 maja 2006, 20:42 
Offline
Użytkownik

Rejestracja: niedziela, 18 września 2005, 12:51
Posty: 234
Oki, już rozgryzłem to, ale zostawiam info dla innych - poprostu trzeba dodać kolejno linijki, np:

$host = "192.168.0.10"; # host to check
$host = "192.168.0.11"; # host to check
$host = "192.168.0.12"; # host to check

_________________
nnd-linux-0.1-2005.07.10 Pentium II 400 Ram-256 2XHDD-10GB


Na górę
 Wyświetl profil  
 
Post: sobota, 13 maja 2006, 17:29 
Offline
Użytkownik

Rejestracja: niedziela, 18 września 2005, 12:51
Posty: 234
Mam jeszcze jeden problem z reseterem. Mianowicie pingowanie nie zawsze zdaje egzamin, bo niektóre antywirusy klientów blokują tą możliwość. Próbowałem przerobić skrypt resetera łacząc go z tym od zliczania hostów w mrtg, ale coś mi to nie wychodzi do końca, bo pomimo, że te ip są podłączone to i tak mi robi reset, a nie powinien - w przypadku wykrycia któregokolwiek, że jest podłączony. To plik resetera po moich zmianach:

#!/usr/bin/perl

$log_dir = "/var/log/reseter"; # system log file
$d = "/bin/date"; # path to date program
$host = "192.168.0.4"; # host to check
$host = "192.168.0.11"; # host to check
$host = "192.168.0.12"; # host to check
$rp = "/bin/reseter1"; # path to reseter
$rt = "15"; # reset time (default 1s)



$t1 = `$d +"%b"`; chop($t1);
$t2 = `$d +"%e"`; chop($t2);
$t3 = `$d +"%X"`; chop($t3);


$stat = system("arping -f -w 2 -I eth1 $host >/dev/null");
$host = `hostname`; chop($host);

if($stat == 0) { exit(0); } # connection okay? if yes -> exit.

system("$rp $rt");

open(LOG, ">>$log_dir");
print LOG "$t1 $t2 $t3 $host RESETER: Connection to $host lost! Reseting Renczny.";
close(LOG);

Niestety, zabrakło mi koncepcji i wiedzy, by to uruchomić. Mógłby ktoś napisać, gdzie popełniłem błąd i dlaczego to nie działa jak powinno ????[/url]

_________________
nnd-linux-0.1-2005.07.10 Pentium II 400 Ram-256 2XHDD-10GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 13 maja 2006, 21:05 
Offline
Użytkownik

Rejestracja: niedziela, 18 września 2005, 12:51
Posty: 234
OK, zrobiłem to jakoś i działa. Czy ktoś może to ocenić i powiedzieć, czy da się to skrócić, tzn. żeby tylko trzeba było same adresy ip dopisywać. Byłoby super, jak nie to trudno i mam nadzieję, że komuś się jeszcze moje wypociny przydadzą - wstawiam poniżej:

#!/usr/bin/perl

$log_dir = "/var/log/reseter"; # system log file
$d = "/bin/date"; # path to date program
$host = "192.168.0.5"; # host to check
$host1 = "192.168.0.11"; # host to check
$host2 = "192.168.0.12"; # host to check
$rp = "/bin/reseter"; # path to reseter
$rt = "15"; # reset time (default 1s)



$t1 = `$d +"%b"`; chop($t1);
$t2 = `$d +"%e"`; chop($t2);
$t3 = `$d +"%X"`; chop($t3);


$stat = system("arping -f -w 2 -I eth1 $host");
$stat1 = system("arping -f -w 2 -I eth1 $host1");
$stat2 = system("arping -f -w 2 -I eth1 $host2");
$host = `hostname`; chop($host);

if($stat == 0) { exit(0); }
if($stat1 == 0) { exit(0); }
if($stat2 == 0) { exit(0); } # connection okay? if yes -> exit.

system("$rp $rt");

open(LOG, ">>$log_dir");
print LOG "$t1 $t2 $t3 $host RESETER: Connection to $host lost! Reseting KLIENCI.
";
close(LOG);

Pozdrawiam Jarek

_________________
nnd-linux-0.1-2005.07.10 Pentium II 400 Ram-256 2XHDD-10GB


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 4 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 24 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl