Mikrotik kapandığında Log / sms / mail göndersin.
Senaryo : Mikrotiğe ait 2 adet WAN portu var ve her iki portunda ip bilgisi sms /mail ile belirtilen ip adresine gönderilecek . Cihaz herhangi bir şekilde reboot gerçekleşirse bu durumun bilgisi uptime değişkeninde belirtilen süreye ulaştığında sms olarak gönderiyor olacak .
Mikrotik reboot alert / UPTIME CHECK SCRIPT, with prevention of sending FALSE ALARM with optional Email and SMS Alert
Mail gönderimi için Gmail , Sms Göndermi için AybitSMS.com Platformu kullanılmıştır.
By Yavuz Malkoç
https://bilgi.wi.com.tr
Uptime Bilgisi Değişkene aktarılıyor
:local UPTIME [/system resource get uptime]
Uptime Limiti Değişkene aktarılıyor ( bu süre size kalmış istediğiniz gibi belirleyebilirsiniz. )
:local UPTIMELIMIT "00:05:00"
Tarih , Saat bilgileri değişkenlere aktarılıyor.
:local date; :local time; :set date [/system clock get date]; :set time [/system clock get time];
Eğer Uptime bilgisi belirtilen limitin altında ise bu konu ile ilgili log' bilgi aktarılıyor ve sms / mail göndderiliyor. By Wi
:if ($UPTIME<$UPTIMELIMIT) do={ :log error "ALARM : Router Reboot Edildi . Mevcut uptime durumu $UPTIMELIMIT Dakika , Sms ve Mail Gönderiliyor.";
Servisler yüklenmek için kısa bir süre bekletiliyor . /by Wi
:delay 161s
GMAIL Setup
:local gmailid "GmailKullanıcıadı@gmail.com" :local GMAILPASS "GmailPassword" :global gmailsmtp :set gmailsmtp [:resolve "smtp.gmail.com"]; :local FIRMA "By Wi"
AybitSMS Konfigurasyonu
#Eğer AybitSMS hesabınız almanız gerekmektedir. :local SMSURL "api.aybitsms.com" :local KID "aybitkullaniciadi" :local KPASS "Aybitsifre"
#Gönderilecek telefon numaraları :local cell1 "03333021909" :local cell2 "0333xxxxxxx"
:global WAN1IP :global WAN2IP
2 PPPOE Bağlantısı kontrol ediliyor ip almışsa bilgileri mail göndermek üzere değişkene aktarılıyor
Eğer pppoe bağlantısı yoksa log 'a bu konuda not düşüyor , işlemi durduruyor .
if ([/interface get ADSL_1 disabled] = yes) do={ :log error "ADSL_1 Bağlantısı Disable Durumda" } else={[:global WAN1IP [/ip address get [find where interface=ADSL_1] address];]}
if ([/interface get ADSL_2 disabled] = yes) do={ :log error "ADSL_2 Bağlantısı Disable Durumda " } else={[:global WAN2IP [/ip address get [find where interface=ADSL_2] address];]}
Mail alıcıları tanımlanıyor . 2 mail hesabı için tanım yapıyor .
:local mailsendto :set mailsendto [email protected]
:local mailsendto2 :set mailsendto2 [email protected]
Set Email Subject
:local es "$[/system identity get name] $[/system clock get date] $[/system clock get time] $FIRMA MIKROTIK Reboot Olmuş ! Yeni IP'leri $WAN1IP $WAN2IP Toplam $UPTIME süredir Aktif"
Set Email Body
:local eb "$[/system identity get name] $[/system clock get date] $[/system clock get time] $FIRMA MIKROTIK Reboot Olmuş ! Yeni IP'leri $WAN1IP $WAN2IP Toplam $UPTIME süredir Aktif"
Mevcut Uptime Süresi $UPTIME
Powered By Wi !"
Finally send email to both amind email addresses
/tool e-mail send to=$mailsendto subject=$es start-tls=yes body=$eb password=$GMAILPASS /tool e-mail send to=$mailsendto2 subject=$es body=$eb start-tls=yes password=$GMAILPASS
:log warning "Reboot konusunda mail gönderildi ..."
:log warning "Reboot Konusunda Sms Gönderildi. ."
SMS Gönderme İşlemi
/tool fetch url="http://$SMSURL/v1/send-sms/get/?username=$KID&password=$KPASS&receipents=$cell1+$cell2&text=$FIRMA+MIKROTIK+Router+Reboot+Olmus+ve+suan+toplam+$date+$time+Suredir+aktif+Yeni+ipler+$WAN1IP+$WAN2IP+++++++[$FIRMA+ByWi]"
Eğer Uptime Suresi limiti aşılmış ise ( ilk belirtilen süre içerisinde sms mail gönderilmiş ise tekrar mail göndermemek için alarm pasif duruma ve bilgisi giriliyor.
} else={ :log error "Sistem $UPTIMELIMIT süredir aktiftir. herhangi bir sms mail gönderilmesi gerekmiyor." }