Tenhle script uloz normalne do system/scripts. Samozrejme s tim, ze si tam upravis email. Pojmenuj si ho treba "test_ip"
# Testovani dostupnosti serveru
# Zmena stavu zaslana na mail (SMS)
# Created by TWEETY (tweety@tweety.cz)
# for Mikrotik v2.9.x
# 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, 0=server je nedostupny
#Zde vyplnte vas email
:local email vas@email.cz
#lokalni promenne
:local stav ""
:local predchozistav
:for i from=0 to=([:len $A] - 1) do={
:set predchozistav ([:pick $C $i])
:if ([/ping [:pick $A $i] count=5] = 0) do {
:if ($predchozistav = 1) do {
/tool e-mail send to=$email subject=("Cas: " . [/system clock get time]) body=([:pick $B $i] . " DOWN!")
:log error ([:pick $B $i] . " DOWN!")
}
:set stav ($stav . "0")
} else {
:if ($predchozistav = 0) do {
/tool e-mail send to=$email subject=("Cas: " . [/system clock get time]) body=([:pick $B $i] . " UP!")
:log error ([:pick $B $i] . " UP!")
}
:set stav ($stav . "1")
}
}
#uloz novy stav
:set C ($stav)
A ted pridej jeste jeden, kterym nastavis IP adresy a pojmenujes ty servery, APcka apod. Pojmenuj ho napr start_up
:global A "10.0.0.1,10.0.0.2,10.0.0.3";
:global B "Server1,Server2,Server3";
:global C "111";
Ted musis do system/sheduler zadat spousteni tech scriptu. Pro script "test_ip" to bude vypadat napr takhle.
/system scheduler add name="test_ip" on-event=test_ip interval=5m
a pro start_up, ktery se musi spustit po startu routeru napr. takhle
/system scheduler add name="start_up" on-event=start_up start-time=startup interval=0s
: ja doufam, ze jsem to napsal jasne a dobre :