[Server] bat скрипт =))

Статус
В этой теме нельзя размещать новые ответы.

adm384

Создатель
Регистрация
3 Окт 2007
Сообщения
19
Реакции
1
привет всем нужен бат скрипт который бы слушал порт к примеру 80 и если он не отвечал перезупаскал службу )
предыстория есть у меня на сервере апачь который бывает что просто перестает отвечать по порту но при этом служба запущена помогает тока рестарт службы ... =)))
 
привет всем нужен бат скрипт который бы слушал порт к примеру 80 и если он не отвечал перезупаскал службу )
предыстория есть у меня на сервере апачь который бывает что просто перестает отвечать по порту но при этом служба запущена помогает тока рестарт службы ... =)))

каковы признаки того, что апач перестает отвечать? Что в этот момент показывает?:
Код:
netstat -na

Прежде чем писать bat-файл, необходимо найти способ определения того, что порт не отвечает.

Возможный алгоритм:
1) из bat запускаем wget и запрашиваем некую страницу. Эту страницу записываем в файл.
2) сравниваем только что сохраненный файл с файлом-образцом, полученным той же командой wget, когда порт отвечал.
3) в зависимости от результата сравнения перезапускаем службу или нет.
 
каковы признаки того, что апач перестает отвечать? Что в этот момент показывает?:
Код:
netstat -na

Прежде чем писать bat-файл, необходимо найти способ определения того, что порт не отвечает.

Возможный алгоритм:
1) из bat запускаем wget и запрашиваем некую страницу. Эту страницу записываем в файл.
2) сравниваем только что сохраненный файл с файлом-образцом, полученным той же командой wget, когда порт отвечал.
3) в зависимости от результата сравнения перезапускаем службу или нет.
показывает до хрена конектов =)) но толка нет так как он просто перестает отвечать =)))

вариант с вгетом нравиться кто поможет =)) я в этом слаб ))

да и можно даже самый просто вариант не вгет а к примеру телнет на 80 порт .. если не ответил то **х рестарт =)
 
попробуй эту прогу
Network Automation AutoMate
с ее помощью можно вытворить все что только можно себе придумать.
 
Итак, вариант с wget.

1) скачиваем wget for windows отсюда:

2) Создаем на своем сервере скрипт, который мы будем тестировать:

test_apache.php
PHP:
<?
echo 'hello, tester';
?>

3) Создаем рабочий каталог c:\check_apache, и в нем создаем файл-образец нашей тестовой страницы:

Код:
"c:\program files\GnuWin32\bin\wget" http://localhost/test_apache.php -O c:\check_apache\sample.html

4) создаем в рабочем каталоге bat-файл:

check_apache.bat:
Код:
@echo off
erase "c:\check_apache\current.html"
"c:\program files\GnuWin32\bin\wget" http://localhost/test_apache.php -O "c:\check_apache\current.html"

fc "c:\check_apache\sample.html" "c:\check_apache\current.htm" | FIND "FC: " > nul 

if ERRORLEVEL 1 goto :s_files_are_different
echo apache ok!
goto :end

:s_files_are_different
echo restart apache!
rem call restart_apache.bat
goto :end

:end

5) запускаем bat-файл и проверяем его работу.
Должны получить apache ok! или restart apache!.
После отладки bat-файла создайте bat-файл restart_apache.bat, который будет перезапускать apache и раскомментируйте вызов этого bat-файла:

check_apache.bat:
Код:
...
echo restart apache!
call restart_apache.bat
goto :end
...
 
может не совсем в тему - но как очень хороший вариант
поставить Dude

по Down можно поставить выполнение програмы или батника
напимер так на удалённой машине
sc \\IP stop apache
sc \\IP start apache

или на локальной
net stop apache
net start apache
заодно можно писать логи - когда сервер падал.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху