PDA

Показать полную графическую версию : [решено] Автоматизированный запуск службы при отключении на Сервере


DJIOAN
16-07-2015, 09:49
Добрый день! помогите пожалуйста, столкнулся с такой проблемой, что при каких то определенных действиях останавливается служба PostgresSQL и пользователи не могут зайти в 1С, при ручном запуске все приходит в норму. Вот я и решил у Вас спросить если использовать bat и поместить его в планировщик заданий :loop
timeout 30
net start postgressqlx64
goto loop но возникает вопрос ни чего не надо добавить в битник и не будет ли сказываться (затормаживать комп) на системе так как будет производить запрос каждые 30 или 60 секунд

DJIOAN
16-07-2015, 12:06
Подскажите пожалуйста какой командой можно отследить остановлена ли служба

Elven
16-07-2015, 13:01
@wmic service where name="postgressqlx86" get state | find /i "Stopped" >NUL && if errorlevel 0 echo "Служба остановлена"

dzork
16-07-2015, 13:09
Для работы со службами используется команда sc.exe
Быстрый поиск в яндексе по словам "windows статус службы" приводит либо на Хабр htt_://habrahabr.ru/company/netwrix/blog/166289/, либо к htt_://www.xrobo.ru/2012/09/cmd.html

DJIOAN
16-07-2015, 13:36
спасибо команда хороша, я заранее извиняюсь, я любитель в этой области, можно ли дописать к этой службе чтоб как только команда отработала и в окне командной строки напишет сообщение что Служба остановлена выполнялась следующая команда по запуску этой службы @wmic service where name="postgressqlx86" get state | find /i "Stopped" >NUL && if errorlevel 0 echo "Служба остановлена" else ( net start postgressqlx64 )
и еще у меня не получается кинуть его в ожидание на заданное время (sleep 10; timeout 10; ping -w 120000 127.0.0.1 > nul) я делаю БАТ на WinXP но буду его внедрять не Сервер 1С
Вот так выглядит у меня БАТ на данный момент:

@echo off
chcp 866 > nul
:loop
@wmic service where name="SkypeUpdate" get state | find /i "Stopped" >NUL && if errorlevel 0 echo "Служба остановлена"
net start SkypeUpdate
ping -w 120000 127.0.0.1 > nul
goto loop


я тестирую на СКАЙПЕ в ДАННЫЙ момент

Charg
16-07-2015, 14:05
Нужно не эту фигню выдумывать а разбираться почему крашится служба и решать эту проблему.

DJIOAN
16-07-2015, 14:21
Я согласен Нужно не эту фигню выдумывать а разбираться почему крашится служба и решать эту проблему. с Вашим мнением. Но у нас эта проблема появилась после того как наши программисты 1С переместили базу на ССД диск, по тому что ранее когда они нас просили настроить и оптимизировать работу Сервера мы произвели, он работал без вылета службы проверили в течении недели, а после перемещения базы началось. У меня и другого програмиста 1с есть подозрения что наши немного не корректно создали базу и сделали дописки к ней ( она тормозит при формировании отчетов и т.д. ...) программа Postgres не справляется и выбиват.
Вот я и делают скажем такую заплатку типа батника, вот доработанная версия уже проверил !!!
@echo off
chcp 866 > nul
:loop
@wmic service where name="pgsql-9.2.4-1.1C-x64" get state | find /i "Stopped" >NUL && if errorlevel 0 echo "Служба остановлена"
net start pgsql-9.2.4-1.1C-x64
ping -n 60 -w 100 127.0.0.1 > nul
goto loop

Спасибо за помощь

Elven
16-07-2015, 17:55
DJIOAN, скобки пропустил.
@echo off
chcp 866 > nul
:loop
wmic service where name="pgsql-9.2.4-1.1C-x64" get state | find /i "Stopped" >NUL && if errorlevel 0 (echo "Служба остановлена"
net start pgsql-9.2.4-1.1C-x64)
ping -n 60 -w 100 127.0.0.1 > nul
goto loop

Без скобок строчка
net start pgsql-9.2.4-1.1C-x64
будет пытаться выполниться каждый раз, а не когда служба остановлена




© OSzone.net 2001-2012