Zdravím všechny. O co jde...kontroluji funkčnost zařízení pravidelným pingáním....
První script provádí nastavení IP adres a počátečního stavu - spustí se jen jedenkrát po startu MK.
Druhý script se spouští v intervalech 3 min a provádí samotnou kontrolu.
Na verzi 2.50 je vše ok... na verzích 3.x nefungují....
script NASTAVENI:
info "---start hlídej-nastavení---"
A "10.10.0.1,10.20.0.1,10.30.0.1";
B "10.10.0.1,10.20.0.1,10.30.0.1";
C "111";
info "---end hlídej---"
script KONTROLA
info "---start hlídej-script---"
# 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 (bez carek)
# 1=server je dostupny, 2=server je nedostupny - cekam,3=server je nedostupny
#Zde vyplnte vas email
email mail@mail.cz
#lokalni promenne
stav ""
predchozistav
novystav ""
zprava ""
i from=0 to=( - 1) do={
predchozistav ()
([/ping = 0) do {
($predchozistav = 2) do={
zprava ($zprava . . " DOWN!,")
error ( . " DOWN!")
}
novystav "3"
($predchozistav = 1) do={
novystav "2"
}
} else {
($predchozistav = 3) do={
zprava ($zprava . . " UP!,")
error ( . " UP!")
}
novystav "1"
}
stav ($stav . $novystav)
}
#Odesli zpravu
( > 0) do={
/tool e-mail send to=$email subject=("Cas: " . ) body=$zprava
}
#uloz novy stav
C ($stav)
# info $C
info "---end hlídej-script---"
Otázka ví někdo proč global proměnné na verzi 2.50 jedou a na verzi 3.x ne?
Indicie - udělal jsem samostatný script na vypsání proměnných:
info "---start test---"
info $A
info $B
info $C
info "---end test---"
Stav nevypíše se do logu nic - přesněji, script se ano nespustí.
Díky za reakce...
Nove verze nakladaji odlisne s globalnymi promennymi. Na zacatku kazdeho scriptu musis vsechny - lokalni i globalni promenne zadefinovat.
Na prvni pohled je videt ze ti chybi definice vsech globalnych a lokalni $i.
Pak by to mohlo byt vporadku. Pokud ne, napis PM, nekde ten script mam opraveny na v.3.x.