Script
IP_TEST
# Testovani dostupnosti serveru
# script zjistuje dostupnost zadanych adres serveru a zmenu stavu zasila na udany mail
# script predpoklada tri globalni promenne A, B a C.
# A je pole IP adres oddelene carkami
# B je pole nazvu serveru oddelene carkami
# C je pole stavu
# 1=server je dostupny, 2=server je nedostupny - cekam,3=server je nedostupny
#Zde vyplnte vas email
:global email neco@email.local
#"natazeni" globalnich promennych
:global A;
:global B;
:global C;
:global stav ""
:global predchozistav ""
:global novystav ""
:global zprava ""
:for i from=0 to=([:len $A]-1) do={
:set predchozistav [:pick $C $i]
:put $predchozistav
:if ([/ping [:pick $A $i] count=5] = 0) do={
:if ($predchozistav = 2) do={
:set zprava ($zprava . [:pick $B $i] . " DOWN!,")
:log error ([:pick $B $i] . " DOWN!")
}
:set novystav 3
:if ($predchozistav = 1) do={
:set novystav 2
}
} else={
:if ($predchozistav = 3) do={
:set zprava ($zprava . [:pick $B $i] . " UP!,")
:log error ([:pick $B $i] . " UP!")
}
:set novystav 1
}
:set stav ($stav . "," . $novystav)
}
#Odesli zpravu
:if ([:len $zprava] > 0) do={
/tool e-mail send to=$email subject=("Cas: " . [/system clock get time]) body=$zprava
}
#uloz novy stav
:set C [:toarray $stav]
startup
:global A [:toarray "111.111.111.111,222.222.222.222,333.333.333.333"];
:global B [:toarray "router A,router B,router C"];
:global C [:toarray "1,1,1"];
do Scheduleru si dej jak IP_TEST tak i startup ten nastavit po startu "start time - startup"