Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт для проверки хоста пингом и отправки мейла при проблеме (http://forum.oszone.net/showthread.php?t=246420)

l0rd888 07-11-2012 17:29 2020939

Скрипт для проверки хоста пингом и отправки мейла при проблеме
 
Вложений: 1
Здравствуйте. Почитал тему http://forum.oszone.net/thread-212511-3.html и возникла идея. Как сделать так чтобы BAT скрипт пинговал определенный сервер и при обрыве соединения записывал в лог файл и отправлял письмо на мейл. Вот привожу пример скрипта для отправки письма с содержанием лог файла. Для работы отправки письма нужна мини прога под названием.
blat. Нужно просто эти 2 файла соединить.

читать дальше »

@Echo Off
:: Anonymous, 2011
Cls
Title Ping2Host

:: Logging
Set Logging=true
:: Timeout on seconds
Set Timeout=2

Echo.
Set /P Host= Enter IP or hostname: ^>
Cls&Set Total=0&Set Succes=0&Set Fail=0&Set Status=Not checked yet&Set StartTime=[%date% - %time:~-0,8%]
Set /A Sleep=(Timeout-1)*1000
If %Logging%==true (Set LogFile="%~n0.log") Else (Set LogFile=nul)
Echo.>>%LogFile%&Echo Started at %StartTime%>>%LogFile%
:ShowStats
Call :Stats
.\nc.exe wait %Sleep%
Ping -n 1 -w 1000 -l 1024 %Host%>nul
If %ErrorLevel% GTR 0 (
Set /A Fail+=1
If Not "%Status%"=="Offline" (Echo %date% - %time:~-0,8% ^>^> %Host% is offline>>%LogFile%)
Set Status=Offline
Title Offline [%Host%] - Ping2Host
) Else (
Set /A Succes+=1
If Not "%Status%"=="Online" (Echo %date% - %time:~-0,8% ^>^> %Host% is active>>%LogFile%)
Set Status=Online
Title Online [%Host%] - Ping2Host
)
GoTo ShowStats

:Stats
Cls
Echo.
Echo Started at: %StartTime%
Echo.
Echo Target: %Host%
Echo Online: %Succes% times, Offline: %Fail% times
Echo Current status: [%date% - %time:~-0,8%] - %Status%
Echo.
Exit /B


читать дальше »
blat.exe "tekstpisma.txt" -f "from@site.com" -to "toemail@site.com" -subject "Temapisma" -attach "pingtohost.txt" -server "XXX.XXX.XXX.XXX -noh2 -log blat.log -debug -timestamp

zion87 07-11-2012 21:35 2021105

Код:

@Echo Off
:: Anonymous, 2011
Cls
Title Ping2Host

:: Logging
Set Logging=true
:: Timeout on seconds
Set Timeout=2

Echo.
Set /P Host= Enter IP or hostname: ^>
Cls&Set Total=0&Set Succes=0&Set Fail=0&Set Status=Not checked yet&Set StartTime=[%date% - %time:~-0,8%]
Set /A Sleep=(Timeout-1)*1000
If %Logging%==true (Set LogFile="%~n0.log") Else (Set LogFile=nul)
Echo.>>%LogFile%&Echo Started at %StartTime%>>%LogFile%
:ShowStats
Call :Stats
.\nc.exe wait %Sleep%
Ping -n 1 -w 1000 -l 1024 %Host%>nul
If %ErrorLevel% GTR 0 (
Set /A Fail+=1
If Not "%Status%"=="Offline" (Echo %date% - %time:~-0,8% ^>^> %Host% is offline>>%LogFile%)
Set Status=Offline
Title Offline [%Host%] - Ping2Host
) Else (
Set /A Succes+=1
If Not "%Status%"=="Online" (Echo %date% - %time:~-0,8% ^>^> %Host% is active>>%LogFile%)
Set Status=Online
Title Online [%Host%] - Ping2Host
)
GoTo ShowStats

:Stats
Cls
Echo.
Echo Started at: %StartTime%
Echo.
Echo Target: %Host%
Echo Online: %Succes% times, Offline: %Fail% times
Echo Current status: [%date% - %time:~-0,8%] - %Status%
Echo.
If "%Status%"=="Offline" goto :mail
Exit /B

:mail
blat.exe -install smtp.mail.ru вашеМыло@mail.ru 0 25 вашеМыло@mail.ru парольМыла
blat.exe -to вашеМыло@mail.ru -subject "Тема" -body "телоПисьма" -attach "%LogFile%"
Exit


l0rd888 08-11-2012 09:35 2021361

Спасибо вам огромное.


Время: 12:57.

Время: 12:57.
© OSzone.net 2001-