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

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

50
Задача: перезапуск сервиса 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

50

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

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

См. также

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


В планировщике заданий я могу выбрать скриптт 1c_restarter.js или программу cscript.exe
Как запустить скрипт исползуя cscript.exe?
3. MrWonder 170 07.08.13 11:26 Сейчас в теме
(1) Spektr, как-то так %windir%\system32\cscript.exe "путь_к_скрипту\1c_restarter.js"
(2) Shrek2015, Пожалуйста :)
2. Shrek2015 07.08.13 11:19 Сейчас в теме
неплохая штука :) спасибо автору
4. Spektr 533 07.08.13 14:25 Сейчас в теме
Благодарю за ответ. Попробую.
5. Alonarista 54 07.08.13 19:32 Сейчас в теме
Как насчет работы с двумя одновременно работающими серверами 1с?
Например 8.1 и 8.2?
6. MrWonder 170 07.08.13 22:43 Сейчас в теме
(5) Alonarista, будет перезагружен только 8.2
7. frai 08.08.13 17:55 Сейчас в теме
А можно подробней зачем чистить каталог "snccntc" для тех, кто не читает ЖКК?
8. MrWonder 170 08.08.13 18:27 Сейчас в теме
(7) frai, что такое ЖКК?
Чистка SNCCNTX помогает от проблем с программными ключами, от проблем с сеансами пользователей.
9. CaSH_2004 349 10.08.13 23:45 Сейчас в теме
(0) Подскажите а в каких случаях это требуется? Или с ним такие же проблемы как с кэшем пользователя.
10. MrWonder 170 11.08.13 13:39 Сейчас в теме
(9) CaSH_2004, Точно у нас проявлялись две проблемы:
1. Слетали программные лицензии - переставали выдаваться сервером приложений.
2. Возникала проблема с определенными сессиями (глубоко проблему не диагностировал). Проявляется когда при просмотре сессий в оснастке сервера приложений выскакивает ошибка с предложением продолжить, и все - сессии дальше косячной не отображаются. Еще проявляется при обходе сессий другим моим скриптом, который считает количество лицензий на кластере (и потом передает в систему мониторинга Zabbix) - там просто фатальный вылет.
11. Abadonna 3719 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 2786 26.09.13 11:32 Сейчас в теме
(11) я вот тоже сегодня статью обновил (http://infostart.ru/public/196686/)
почитай, там тоже есть до утра приколов.
Тот скрипт который ты написал, он лечит кучу проблем, по идее. Но проблемы не только у тебя :)

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

И почитай дампы от 1С.
13. MrWonder 170 26.09.13 14:15 Сейчас в теме
(12) DitriX, Спасибо, мне полезна информация. Скоро буду ваять скрипт перехода СП 1с с 8.2 на 8.3. Обновление релиза 8.2 уже есть, не руками же на 90 серверах фигарить ))
14. DitriX 2786 26.09.13 16:37 Сейчас в теме
(13) но ты учти, что тебе потом руками ковырять эти конфы :)
А часть багов 1С признала, но к исправлению только в 8.3.4 планирует....
15. MrWonder 170 26.09.13 16:51 Сейчас в теме
(14) DitriX, Неа) мне не надо. Есть штат сотрудников, которые протестируют конфы перед переходом, и поправят, при необходимости.
16. Vladal 416 08.10.13 10:37 Сейчас в теме
MrWonder, а выложи, пожалуйста, текст скрипта в статью. Если не сложно.
17. MrWonder 170 08.10.13 13:14 Сейчас в теме
18. kernelio 4 07.04.14 15:52 Сейчас в теме
(17) выложи и мне скрипт, пожалуйста.
39. sibmen 22.06.16 16:10 Сейчас в теме
(17) Добрый человек поделись скриптом ,пожалуйста, очень надо!
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. MrWonder 170 30.07.14 02:05 Сейчас в теме
23. vbuots 20 07.10.14 11:30 Сейчас в теме
Спасибо большое за такой качественный скрипт. Где же Вы были хотя бы год назад ;(. Использую теперь только его!!!
24. MrWonder 170 07.10.14 14:45 Сейчас в теме
(23) vbuots, На здоровье)), рад что Вам пригодилось.
25. afanasko 35 16.01.15 18:43 Сейчас в теме
Большое спасибо! Понадобился скрипт для корректной остановки сервера 1С перед выключением сервака. Ваша разработка идеально подошла. Убрал строчки с запуском и поместил скрипт в планировщик - работает как часы!
26. zombi81 7 16.05.15 09:32 Сейчас в теме
А если в базе работают пользователи, насколько корректно будет использовать такой скрипт?
27. zombi81 7 16.05.15 09:32 Сейчас в теме
Или выполняются регламентные задания.
28. zombi81 7 16.05.15 09:33 Сейчас в теме
Забыл подписаться на ответы.
29. MrWonder 170 16.05.15 14:08 Сейчас в теме
Если в базе работают пользователи то сеансы их работы будут завершены, регламентные, соответственно, тоже.
Проблем ни разу не было с этим )
30. v3rter 01.07.15 14:56 Сейчас в теме
Хотел написать в личку, но что-то пошло не так и не получилось. Не в обиду: закиньте текст публикации в word на предмет красных волнистых линий.
MrWonder; +1 Ответить
31. MrWonder 170 06.07.15 23:41 Сейчас в теме
32. _Shadow_ 21.09.15 18:14 Сейчас в теме
(31) поделитесь скриптом, если не жалко.
Не хочется изобретать велосипед, а с финансами сейчас совсем беда.
33. isn 13 15.12.15 15:35 Сейчас в теме
Подскажите, при запуске скрипта на каждом кластере серверов, "глюков в работе не возникало"?
34. MrWonder 170 16.12.15 09:21 Сейчас в теме
(33) isn, поясните, что Вы имеете ввиду под "запуске скрипта на каждом кластере серверов"? Очистка сеансовых данных для нескольких кластеров одного СП 1с предусмотрена. Пришлите лог.
35. zoytsa 16.02.16 08:16 Сейчас в теме
День добрый!
А на Сервер 8.1 сложно будет адаптировать скрипт самому?
36. MrWonder 170 16.02.16 09:30 Сейчас в теме
(35) zoytsa, технически не очень, надо в заголовке поменять переменную query_1c_service, чтобы выбирал службу 1с 8.1. А вот на счет очистки каталогов snccntc надо смотреть, я не знаю о наличии и размещении каталога сеансовых данных в 8.1 - в коде вызов функции delete_snccntx
37. mnemchinov 94 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. MrWonder 170 20.02.16 09:37 Сейчас в теме
(37) mnemchinov, какая ОС, включен ли UAC, ключи стоят аппаратные в сервере?
Оставьте свое сообщение