Автоматический перезапуск (рестарт) Windows Server 2016 по расписанию

Содержание

  1. Планируем расписание.
  2. Изучаем параметры команды shutdown.exe
  3. Создаем задание на перезапуск сервера в Планировщике Windows Server

Один из моих клиентов арендует 1С сервер в дата-центре в Новосибирске.
На сервере стоит:

  • кластер 1С сервера на платформе 8.3,
  • сервер баз данных на MS SQL Server,
  • ОС — Window Server 2016.

Ко всему этому пользователи коннектятся со своих компьютеров Тонким клиентом 1С.

Так вот, все бы хорошо, но периодически (через 1-2 недели непрерывной работы) начинаются тормоза, конечно скорость работы на Комплексной тоже так себе, «но до этого же все летало».
Смотрю процессы — память жрущие, SQL-Сервер и rphost (процесс работы 1С сервера). Ограничил в аппетитах SQl-сервер, помогло, но не сильно, все равно память забивается. После ребута сервера — жизнь налаживается, но опять же на пару недель.

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

1. Планируем расписание.

  • С 23 до 1:30 идут создания полных бэкапов баз. По логам последний бэкап создается в 1:30
  • С 2:30 происходит перенос созданных бэкапов на удаленный бэкап-сервер. и удаление переданных бэкапов на текущем сервере.

Посмотрел по логам перенос в худшем случае заканчивался в 3:30 ночи, значит где-то в 4:30 если рестартовать сервер, никому от этого хуже не будет.

2. Изучаем параметры команды shutdown.exe

В терминале или PowerShell запускаем команду

shutdown.exe /?

И получаем описание ключей (аргументов) программы Shutdown.exe

Выбираем интересующие нас параметры:

  • интересует перезагрузка сервера /r
  • перед перезагрузкой желательно принудительно завершить запущенные приложения /f
  • перед перезапуском сделаем небольшую задержку — 90 секунд /t 90
  • Укажем в причинах перезагрузки — Другое (Запланированное) /d p:0:0
  • выведем потенциальным ночным пользователям на сервере сообщение, о том, что сейчас произойдет /c «Через 90 сек произойдет плановый перезапуск Сервера»

в итоге получим такую задачу:

shutdown.exe /r /f /t 90 /d p:0:0 /c "Через 90 сек произойдет плановый перезапуск Сервера"

Ну этим и ограничусь.

3. Создаем задание на перезапуск сервера в Планировщике Windows Server

Открываем Планировщик:

«Пуск» -> «Средства администрирования» -> «Планировщик заданий»

Создаем Новую задачу и зададим ей Имя и описание, если есть желание.

Ставим задачу — выполнить для всех пользователей!

переходим во вкладку Триггеры и создаем расписание:
Еженедельно, в рабочие дни, в 4:30 ночи

переходим во вкладку Действия и создаем новое действие: укажем тип действия «Запуск программы», в Поле программы найдем нашу команду shutdown.exe (она находится по адресу: C:\Windows\System32\)
Кроме того добавим все наши аргументы:
/r /f /t 90 /d p:0:0 /c «Через 90 сек произойдет плановый перезапуск Сервера»

во вкладке «Условия» все оставим как есть

во вкладке «Параметры» укажем «Останавливать задачу, выполняемую дольше: 2 ч.»

жмем ОК и сохраняем нашу Задачу. она становится в перечень задач Планировщика.
Все, теперь ждем следующего дня и смотрим журналы заданий, радуемся жизни и стабильной работе дата-центра.

И не забываем настроить Резервное копирование 1С баз postgreSQL на Windows Server 2016. Скрипт

Удачной настройки!