СМС о падении сервера

В общем есть секретни сервер с «белой» бухгалтерией. И встала задача информировать главного бухгалтера о его недоступности. Сам сервер стоит за NAT’ом где то в России, проверяющий сервер стоит в германии в виде виртуальной машины. На обоих стоят win2k3 (не спрашивайте меня почему, просто так надо). В итоге задача:

Мониторить сервер на 2k3 находящийся за натом, используя как можно меньше стороннего софта, и в случае изменения состояния сервера рассылать смс на определенные номера (причем смс должны быть на русском, мы ведь любим главного бухгалтера, а она английский язык не любит).

В итоге в моей голове родилась следующая схема:

1) Наблюдаемый сервер раз в минуту ходит по фтп в германию и кладет в корень спец пользователя файлик

2) Сервер в германии раз в 2 минуты смотрит есть ли файл, если файл есть то он удаляется. Если файла нет, то отсылается смс и создается запись о том что сервер ушел в даун, если файл есть и есть запись что сервер в дауbне, то рассылается смс о том что сервер вернулся и удаляются оба файла.

Про пунк 1 я ничего писать не буду, кому нужно — сами сделают, а вот для пункта 2 приведу примеры скриптов.

server_chek.cmd

[cc]echo OFF
cd /d d:\soft\

if exist d:\soft\server_down.log (
goto check_up
) else (
goto check_down
)

:check_Down
if exist d:\soft\date.txt (
del /q /f d:\Soft\server_down.log
del /q /f d:\Soft\date.txt
) else (
echo %date%-%time% > server_down.log
echo SMS_down
d:\Soft\smsDown.cmd
)
goto Exit

:check_up
if exist d:\soft\date.txt (
del /q /f d:\Soft\server_down.log
del /q /f d:\Soft\date.txt
echo SMS_UP
d:\Soft\smsUp.cmd
) else (
echo goto Exit
)
goto Exit

:Exit[/cc]

Как видите отправка смс вынесена в отдельные файлы (так проще менять колво и текст рассылаемых смс) Рассылать смс я решил с помощью sms.ru, использую для этого curl и вообще трэш и угар.

smsUp.cmd [cc]D:\Soft\curl_726_0\curl.exe «http://sms.ru/sms/send?api_id=ID_ОТ_SMS.ru&to=79261234567&text=%%D0%%A1%%D0%%B5%%D1%%80%%D0%%B2%%D0%%B5%%D1%%80++%%D0%%BF%%D0%%B5%%D1%%80%%D0%%B5%%D1%%81%%D1%%82%%D0%%B0%%D0%%BB+%%D0%%BE%%D1%%82%%D0%%B2%%D0%%B5%%D1%%87%%D0%%B0%%D1%%82%%D1%%8C+%%D0%%BD%%D0%%B0+%%D0%%B7%%D0%%B0%%D0%%BF%%D1%%80%%D0%%BE%%D1%%81%%D1%%8B»[/cc]

Самый интересный параметр (я поимел с ним больше всего проблем) это text. Читаем википедию, пробуем и у нас ничего не получается. Потом вспоминаем про то что Знаком % в винде обозначаются переменные, а для экранирования нужно добавить перед символом % еще 1 %. Идем сюда пишем нужный текст, копируем закодированный результат в блокнот и делаем замену % на %%, вставляем в скрипт. smsDown.cmd делаем по аналогии. А еще в эти оба скрипта можно вставить несколько комманд curl с разными именами.

You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply

Subscribe to RSS Feed