Ребутнуть сервер без ребута

20.08.15

База данных - Инструменты администратора БД

Скриптик для перезапуска сервера 1С предприятия и ms sql server.
Основное назначение: не перегружая сервер полностью, по-быстрому освежить память и прочие ресурсы.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
RestartServer1c.txt
.txt 1,04Kb ver:1.0
24 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Данный скрипт  я раскопал на просторах интернета в виде "как запустить службу" или "как остановить службу", подкрасил, подмазал, подправил и поставил,  но данные решения в итоге мне не очень подошли по следующим причинам:

1. После передачи команды службе, к примеру, отправили "stop", она может и вовсе не завершиться, так сказать  (забить) проигнорировать и в результате придется запускать скрипт по новой или делать что-то руками.

2. Вытекает из п. 1 - за скриптом надо следить, поглядывать, остановилась ли служба или запустилась ли служба.

3. Таймаут для ожидания остановки или запуска службы в зависимости от загрузки железа все время "не в кассу", то слишком маленький, то слишком большой, жалко времени на все это....


ИСХОДНЫЙ СКРИПТ:

// - далее по тексту таким образом будут обозначаться комментарии в коде

// эти комментарии, естественно, убираем когда все это станет батником или цмдшником
// ну или меняем на rem

Текст скрипта:

// остановка сервера 1с
sc stop "1C:Enterprise 8.2 Server Agent"
//таймаут 15 секунд
TIMEOUT /T 15 /NOBREAK

//одно время rmngr.exe не останавливался после остановки сервера 1с
//поэтому я ему помогаю это сделать
TASKKILL /f /IM rmngr.exe
//таймаут 10 сек
TIMEOUT /T 10 /NOBREAK

//остановка агента сервера 1с предприятия
sc stop SQLSERVERAGENT
//таймаут 15 сек
TIMEOUT /T 15 /NOBREAK

//остановка mssqlserver
sc stop MSSQLSERVER
//таймаут 30 сек
TIMEOUT /T 30 /NOBREAK

//запуск mssqlsrever
sc start MSSQLSERVER
//таймаут 30 сек
TIMEOUT /T 30 /NOBREAK

//запуск агента mssqlserver
sc start SQLSERVERAGENT

//запуск сервера 1с предприятия
sc start "1C:Enterprise 8.2 Server Agent"

//для тех кто не в теме, если хотите диагностические сообщения из скрипта на русском языке
//используйте кодировку oem866

 

В результате небольшой модификации все эти проблемы решились, правда добавились некоторые новые, но для меня не существенные:

Немного ловкости рук, циклов, условий и мы получили:

//ИЗМЕНЕННЫЙ код для остановки сервера 1с предприятя

//ссыль, куда мы прыгнем, если у нас остановка не получится с первого раза
:Stop1c
//собственно передача команды остановки службе
rem sc stop "1C:Enterprise 8.2 Server Agent (x86-64)" > NUL
//таймаут 3 сек
TIMEOUT /T 3 /NOBREAK
//проверка службы (остановилась или нет)
sc query "1C:Enterprise 8.2 Server Agent (x86-64)" | find /i "1 STOPPED" > NUL
//если не остановилась, попросим еще раз
if %errorlevel%==1 GoTo Stop1c

//остальные службы по аналогии, запуск с использованием: find /i "4  RUNNING"

 

Достоинства:
1. запустил и забыл, пока все не будет сделано как положено эта штука не успокоится

Недостатки:
1. На экране полная белиберда, если раньше можно было видеть: "вот тут делалось то-то, а за ним вот это", то теперь сообщений в разы больше и все это гораздо хуже воспринимается

 

В прикрепленном файле полный текст скрипта, не забываем поменять расширение c .txt  на .cmd

Вступайте в нашу телеграмм-группу Инфостарт

перезапуск службы "сервер 1с предприятия" перезапуск ms sql server

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    49724    286    143    

253

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    20965    86    42    

95

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    18769    69    10    

102

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    40597    124    152    

84

Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

12000 руб.

06.02.2017    34349    147    18    

53

Архивирование (backup) Инструменты администратора БД 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    76942    633    45    

91
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Йожкин Кот 1008 20.08.15 09:31 Сейчас в теме
Не понятно на кого рассчитана статья: если на админа, то увольнять нужно таких админов, которые не знают как службы скриптами перезапускать, если на пользователя, то руки оторвать тому пользователю, который на сервер полезет службы перезапускать.
Evil Beaver; andreask; delete; Fox-trot; roofless; dj_serega; Зеленоград; micha26; 3.14159; tormozit; vasyak319; berezdetsky; Aleksey.Bochkov; AnryMc; +14 Ответить
5. vx_gas 32 20.08.15 11:39 Сейчас в теме
(1) Йожкин Кот, как перезапускать топорно любой дурак знает, это понятно, все дело кроется в нюансах, для примера вам комментарий ksvd где используются параметры или мой пост, в котором говорится как это делать эффективней
6. webester 26 20.08.15 13:45 Сейчас в теме
(1)Я админ и "надо бы скриптик написать и в шедулер закинуть" и "а надо же было скриптик написать и в шедулер закинуть" длится уже полгода, сейчас закину наконец то. Осталось убедить директора не оставлять на ночь не сохраненную работу, он категорически против рестарта 1с-сервера.
8. andreask 26.08.15 09:27 Сейчас в теме
(1) Йожкин Кот, полностью согласен! Ждите следующей статьи "как просто перезагрузить сервер кнопкой "reset"".
2. ksvd 20.08.15 09:32 Сейчас в теме
Прикольно, не знал что есть команда TIMEOUT
я у себя использовал
ping -n 30 localhost

И агента указывал через переменные
set ServerAgent="1C:Enterprise 8.2 Server Agent (x86-64)"
sc stop %ServerAgent%

Удобнее менять, если использовать на разных 1С x32 или 8.3
3. vx_gas 32 20.08.15 10:21 Сейчас в теме
(2) ksvd, понял, спасибо :) хорошая идея
4. 3.14159 94 20.08.15 11:08 Сейчас в теме
куищще reboot

по-быстрому выкинуть всех пользователей из всех баз :)
7. Fox-trot 166 21.08.15 14:18 Сейчас в теме
делаете службу MSSQLSERVER зависимой от 1С и тогда скрипт мона умеьшить раза в два
9. Andris_infostart 26.08.15 18:27 Сейчас в теме
Недостатки:
1. На экране полная белиберда, если раньше можно было видеть: "вот тут делалось то-то, а за ним вот это", то теперь сообщений в разы больше и все это гораздо хуже воспринимается

Разве echo no/off не решает данной проблемы?
10. _evgen_b 170 21.11.15 20:48 Сейчас в теме
Вопрос чайника: насколько страшен перезапуск сервера БД при работающем сервере приложений?
Для чего это нужно: конкретно в моем случае (postgres) при изменении конфигурации сервера БД как я понимаю нужен его перезапуск. Но сеансы пользователей не хочется прерывать.
11. _evgen_b 170 21.11.15 21:50 Сейчас в теме
(10) _evgen_b, ой, все.
Сам спросил, сам и нашел ответ: http://www.heatware.net/databases/postgresql-reload-config-without-restarting/
А так можно посмотреть текущие настройки: http://dba.stackexchange.com/questions/35814/how-to-view-the-current-settings-of-autovacuum-in-postgres
Для отправки сообщения требуется регистрация/авторизация