Скрипт (js) перезапуска сервиса "Агент сервера 1С:Предприятия 8.2" и "Агент сервера 1С:Предприятия 8.3", Hasp License Manager, с очисткой каталогов snccntx

Администрирование - Сервисные утилиты

Задача: перезапуск сервиса 1С, очистка каталогов snccntx и перезапуск HASP LM (для отключения нулевых сессий), HASP Loader.

*Обновление 13-11-2013: 

Изменил механизм определения версии останавливаемых процессов rphost


*Обновление 03-09-2013:

1. Перезапуск без сообщений выполняется с параметром командной строки support1c

2. При запуске без параметров требуется два подтверждения для перезапуска.

3. Сервис 1С будет запускаться, пока не запустится.

4. В случае любой ошибки в скрипте (падение) будет осуществлен запуск сервиса 1С.


Данный скрипт выполняет следующие действия:
1.Останавливает службу "Агент сервера 1С:Предприятия 8.2" (как x32, так и x64) (если такая есть)
2.Проверяет после остановки службы наличие в памяти незавершенных процессов rphost.exe, rmngr.exe и ragent.exe. Принудительно завершает их.
3.Останавливает службу HASP License Manager (если такая есть), HASP Loader.
4.Очищает каталоги snccntc для каждого из локальных кластеров.
5.Запускает службу HASP LM, HASP Loader и "Агент сервера 1С:Предприятия 8.2".

Все этапы логгируются с обработкой исключительный ситуаций. Лог файл пишется в каталог где находится скрипт.

Никаких параметров задавать не нужно. Запускаете скрипт - получаете результат.

Если будуте запускаете через планировщик заданий - советую использовать cscript.exe вместо wscript.exe.

UPD 06-10-2013

Исправил ошибку в отображении 10-го месяца в лог-файле
Исправил завершение незавершившихся процессов останавливаемых служб
Добавил запуск служб HASP* при исключительной ситуации
Добавил запуск всех служб при невозможности завершить процесс останавливаемой службы

UPD 11-07-2014

Добавил отдельный скрипт для перезапуска служб 8.3, кроме того, скрипт для 8.3

 - чистит каталог temp пользователя, под которым запущен 1с

 - в случае любой непредвиденной ситуации скрипт будет пытаться запустить службу 1с пока не сможет этого сделать

 - содержит мелкие улучшения

UPD 01-04-2015

 - скрипт для 8.3 завершает еще и клиентов 1с, с запросом при ручном запуске и без запроса через параметр командной строки

 - мелкие улучшения

Дальнейшего развития скрипта для 8.2 не предполагается.

UPD 01-06-2015

 - Реализована поддержка UAC при ручном запуске. Если запускаете из планировщика с ключом командной строки - запускайте из-под системной учетной записи - там повышение привилегий не требуется.

 - Переделал скрипт для 8.2 из сочного и свежего скрипта для 8.3

UPD 17-08-2015

 - Добавил поддержку Windows Server 2012

Скачать файлы

Наименование Файл Версия Размер
Скрипт перезапуска 8.2
.js 23,57Kb
20.08.15
135
.js 23,57Kb 135 Скачать
Скрипт перезапуска 8.3
.js 23,58Kb
20.08.15
130
.js 23,58Kb 130 Скачать

См. также

Комментарии
1. Spektr Тунда (Spektr) 405 07.08.13 10:53 Сейчас в теме
Если будуте запускаете через планировщик заданий - советую использовать cscript.exe вместо wscript.exe.


В планировщике заданий я могу выбрать скриптт 1c_restarter.js или программу cscript.exe
Как запустить скрипт исползуя cscript.exe?
2. Shrek Shrek (Shrek2015) 07.08.13 11:19 Сейчас в теме
неплохая штука :) спасибо автору
3. Aleksey Zhuchkov (MrWonder) 103 07.08.13 11:26 Сейчас в теме
(1) Spektr, как-то так %windir%\system32\cscript.exe "путь_к_скрипту\1c_restarter.js"
(2) Shrek2015, Пожалуйста :)
4. Spektr Тунда (Spektr) 405 07.08.13 14:25 Сейчас в теме
Благодарю за ответ. Попробую.
5. Иван Ляхов (Alonarista) 53 07.08.13 19:32 Сейчас в теме
Как насчет работы с двумя одновременно работающими серверами 1с?
Например 8.1 и 8.2?
6. Aleksey Zhuchkov (MrWonder) 103 07.08.13 22:43 Сейчас в теме
(5) Alonarista, будет перезагружен только 8.2
7. Lo Fi (frai) 08.08.13 17:55 Сейчас в теме
А можно подробней зачем чистить каталог "snccntc" для тех, кто не читает ЖКК?
8. Aleksey Zhuchkov (MrWonder) 103 08.08.13 18:27 Сейчас в теме
(7) frai, что такое ЖКК?
Чистка SNCCNTX помогает от проблем с программными ключами, от проблем с сеансами пользователей.
9. Олег Шалимов (CaSH_2004) 343 10.08.13 23:45 Сейчас в теме
(0) Подскажите а в каких случаях это требуется? Или с ним такие же проблемы как с кэшем пользователя.
10. Aleksey Zhuchkov (MrWonder) 103 11.08.13 13:39 Сейчас в теме
(9) CaSH_2004, Точно у нас проявлялись две проблемы:
1. Слетали программные лицензии - переставали выдаваться сервером приложений.
2. Возникала проблема с определенными сессиями (глубоко проблему не диагностировал). Проявляется когда при просмотре сессий в оснастке сервера приложений выскакивает ошибка с предложением продолжить, и все - сессии дальше косячной не отображаются. Еще проявляется при обходе сессий другим моим скриптом, который считает количество лицензий на кластере (и потом передает в систему мониторинга Zabbix) - там просто фатальный вылет.
11. Аркадий Кучер (Abadonna) 3676 13.08.13 04:48 Сейчас в теме
Немного offtop, кто сталкивался с такой проблемой?
RMNGR.EXE

Суть проблемы:
Проблема вызывается висящим в памяти процессом rmngr.exe, который блокирует доступ к папкам сервера 1 С предприятия и не дает нормально запускаться службе агента 1С предприятия.
Говорят, это поправили в тестовой платформе 8.2.15.315.
Помогает ручное завершение этого процесса через диспетчер задач и перезапуск службы агента сервера 1С предприятия.
Для этого надо залогиниться в систему после перезагрузки и проделать все манипуляции ручками.

P.S. Может в 8.2.15.315 и далее и решили, а вот на 8.3.3.687 я её поимел по всей красе ;)
Решил, конечно, но "Шурик, это же не наш метод! В то время, когда космические корабли бороздят..."
12. Дмитрий Шерстобитов (DitriX) 2468 26.09.13 11:32 Сейчас в теме
(11) я вот тоже сегодня статью обновил (http://infostart.ru/public/196686/)
почитай, там тоже есть до утра приколов.
Тот скрипт который ты написал, он лечит кучу проблем, по идее. Но проблемы не только у тебя :)

Кстати - проверь драйвера, особенно на видик.

И почитай дампы от 1С.
13. Aleksey Zhuchkov (MrWonder) 103 26.09.13 14:15 Сейчас в теме
(12) DitriX, Спасибо, мне полезна информация. Скоро буду ваять скрипт перехода СП 1с с 8.2 на 8.3. Обновление релиза 8.2 уже есть, не руками же на 90 серверах фигарить ))
14. Дмитрий Шерстобитов (DitriX) 2468 26.09.13 16:37 Сейчас в теме
(13) но ты учти, что тебе потом руками ковырять эти конфы :)
А часть багов 1С признала, но к исправлению только в 8.3.4 планирует....
15. Aleksey Zhuchkov (MrWonder) 103 26.09.13 16:51 Сейчас в теме
(14) DitriX, Неа) мне не надо. Есть штат сотрудников, которые протестируют конфы перед переходом, и поправят, при необходимости.
16. V. L. (Vladal) 410 08.10.13 10:37 Сейчас в теме
MrWonder, а выложи, пожалуйста, текст скрипта в статью. Если не сложно.
17. Aleksey Zhuchkov (MrWonder) 103 08.10.13 13:14 Сейчас в теме
18. Andrey Kazhurin (kernelio) 2 07.04.14 15:52 Сейчас в теме
(17) MrWonder, выложи и мне скрипт, пожалуйста.
19. Дмитрий (sommid) 29.05.14 13:26 Сейчас в теме
спасибо. уже немного поднадоели зависающие процессы rmngr.exe
20. Евгений Нечипоренко (Nechipury) 8 29.07.14 12:34 Сейчас в теме
Запускаю скрипт, дает ошибка не совместимости типа, 8.3 самая свежая стоит. в чем проблема?
21. Дмитрий (sommid) 29.07.14 15:08 Сейчас в теме
(20) качал пример для 8.2 и сам исправлял в нужных местах на 8.3, отключал ненужное, вроде все интуитивно понятно, работает.
22. Aleksey Zhuchkov (MrWonder) 103 30.07.14 02:05 Сейчас в теме
23. Buots Vladimir (vbuots) 20 07.10.14 11:30 Сейчас в теме
Спасибо большое за такой качественный скрипт. Где же Вы были хотя бы год назад ;(. Использую теперь только его!!!
24. Aleksey Zhuchkov (MrWonder) 103 07.10.14 14:45 Сейчас в теме
(23) vbuots, На здоровье)), рад что Вам пригодилось.
25. Dmitry Afanasyev (afanasko) 35 16.01.15 18:43 Сейчас в теме
Большое спасибо! Понадобился скрипт для корректной остановки сервера 1С перед выключением сервака. Ваша разработка идеально подошла. Убрал строчки с запуском и поместил скрипт в планировщик - работает как часы!
26. Alex Bol (zombi81) 7 16.05.15 09:32 Сейчас в теме
А если в базе работают пользователи, насколько корректно будет использовать такой скрипт?
27. Alex Bol (zombi81) 7 16.05.15 09:32 Сейчас в теме
Или выполняются регламентные задания.
28. Alex Bol (zombi81) 7 16.05.15 09:33 Сейчас в теме
Забыл подписаться на ответы.
29. Aleksey Zhuchkov (MrWonder) 103 16.05.15 14:08 Сейчас в теме
Если в базе работают пользователи то сеансы их работы будут завершены, регламентные, соответственно, тоже.
Проблем ни разу не было с этим )
30. Роберт В е р т и н с к и й (v3rter) 01.07.15 14:56 Сейчас в теме
Хотел написать в личку, но что-то пошло не так и не получилось. Не в обиду: закиньте текст публикации в word на предмет красных волнистых линий.
31. Aleksey Zhuchkov (MrWonder) 103 06.07.15 23:41 Сейчас в теме
32. _Shadow_ (_Shadow_) 21.09.15 18:14 Сейчас в теме
(31) MrWonder, поделитесь скриптом, если не жалко.
Не хочется изобретать велосипед, а с финансами сейчас совсем беда.
33. isn Игнатьев (isn) 12 15.12.15 15:35 Сейчас в теме
Подскажите, при запуске скрипта на каждом кластере серверов, "глюков в работе не возникало"?
34. Aleksey Zhuchkov (MrWonder) 103 16.12.15 09:21 Сейчас в теме
(33) isn, поясните, что Вы имеете ввиду под "запуске скрипта на каждом кластере серверов"? Очистка сеансовых данных для нескольких кластеров одного СП 1с предусмотрена. Пришлите лог.
35. andr bat (zoytsa) 16.02.16 08:16 Сейчас в теме
День добрый!
А на Сервер 8.1 сложно будет адаптировать скрипт самому?
36. Aleksey Zhuchkov (MrWonder) 103 16.02.16 09:30 Сейчас в теме
(35) zoytsa, технически не очень, надо в заголовке поменять переменную query_1c_service, чтобы выбирал службу 1с 8.1. А вот на счет очистки каталогов snccntc надо смотреть, я не знаю о наличии и размещении каталога сеансовых данных в 8.1 - в коде вызов функции delete_snccntx
37. Михаил Немчинов (mnemchinov) 89 20.02.16 07:31 Сейчас в теме
При работе через планировщик выдал на экран такое сообщение: Please, contact zhuchkov... attaching this screenshot - exception while executing: cmd.exe /c C:\Windows\system32\taskkill.exe /f /pid 5916
Сам скрипт при этом ждал пока ему нажмут ОК. Замечал такое поведение пару раз.
38. Aleksey Zhuchkov (MrWonder) 103 20.02.16 09:37 Сейчас в теме
(37) mnemchinov, какая ОС, включен ли UAC, ключи стоят аппаратные в сервере?
39. Петров Иван (sibmen) 22.06.16 16:10 Сейчас в теме
(17) MrWonder, Добрый человек поделись скриптом ,пожалуйста, очень надо!
Оставьте свое сообщение