Найти в Дзене
Будни одинэсника | 1С

Как настроить перезапуск сервера 1С:Предприятия по расписанию?

Часто стоит задача сделать автоматический перезапуск сервера 1С:Предприятия по определенному расписанию. До выхода платформы 8.3.27 настройка перезапуска сервера определялась в секундах от начала работы сервера, т.е. нельзя было задавать конкретное время перезапуска. И бывали случаи, когда эта перезагрузка происходила совсем в не подходящий момент. Как вариант можно было использовать для перезапуска встроенный планировщик Windows, который выполнял остановку и запуск сервера 1С, через командные файлы. Но теперь начиная с версии 8.3.27 есть встроенный механизм перезапуска сервера по расписанию. В свойствах Кластера сервера и в свойствах Рабочего сервера, появилась настройка — Расписание перезапуска: Строка расписания перезапуска рабочих процессов кластера серверов указывается в cron-формате. Cron-формат содержит 6 полей, разделенных пробелами или символами табуляции, однако в системе 1С:Предприятие используются только первые 5 полей. Поле с именем команды не используется и указание этог

Часто стоит задача сделать автоматический перезапуск сервера 1С:Предприятия по определенному расписанию.

До выхода платформы 8.3.27 настройка перезапуска сервера определялась в секундах от начала работы сервера, т.е. нельзя было задавать конкретное время перезапуска. И бывали случаи, когда эта перезагрузка происходила совсем в не подходящий момент.

Как вариант можно было использовать для перезапуска встроенный планировщик Windows, который выполнял остановку и запуск сервера 1С, через командные файлы.

Но теперь начиная с версии 8.3.27 есть встроенный механизм перезапуска сервера по расписанию.

В свойствах Кластера сервера и в свойствах Рабочего сервера, появилась настройка — Расписание перезапуска:

Что писать в этой строке?

Строка расписания перезапуска рабочих процессов кластера серверов указывается в cron-формате. Cron-формат содержит 6 полей, разделенных пробелами или символами табуляции, однако в системе 1С:Предприятие используются только первые 5 полей. Поле с именем команды не используется и указание этого поля не требуется.

Каждое из полей (нумерация слева-направо) отвечает за свой элемент расписания:

  1. Минута часа. Принимает значение от 0 до 59.
  2. Час суток. Принимает значение от 0 до 23.
  3. День месяца. Может принимать значение от 1 до 31.
  4. Месяц года. Может принимать значение от 1 до 12.
  5. День недели. Может принимать значение от 0 до 6. Воскресенье ‑ 0, понедельник ‑ 1 и т. д.

Каждое поле может принимать различные значения:

● Число.

● Несколько чисел, разделенных символом "," (запятая).

● Два числа, разделенных символом "-" (дефис, минус).

● Символ "*" (знак умножения, звездочка).

● Символ "/" (прямой слеш). Данный символ может завершать любое допустимое значение.

Символ "*" означает утверждение — каждый. Т. е. если этот символ указан в поле 1, то расписание будет срабатывать каждую минуту.

Указание одиночного числа означает указание ровно одного значения. Если для поля 2 указано значение 4, то это означает, что расписание будет срабатывать каждый 4 час суток.

Указание интервала значение (число-число) означает, что расписание будет срабатывать каждое значение из интервала, включая границы. Так выражение 5-10 в поле 3 означает, что расписание будет срабатывать в 5, 6, 7, 8, 9 и 10 день месяца.

Указание после значение символа "/" означает указание шага выполнения данного поля. Так, выражение */10 в поле 1 означает, что расписание будет срабатывать каждую 10 минуту. А выражение 0-23/2 в поле 2 означает, что расписание будет срабатывать каждый второй час суток: 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 и 22 часа.

Для облегчения формирования строки расписания можно использовать, например, сайт https://crontab.guru/. На этом сайте стоит избегать расписаний, которые помечаются как Non standard! May not work with every cron., и использовать в расписании различные метасимволы, например, @yearly и т. д.

В заключении приведем несколько примеров расписаний с расшифровкой срабатывания приведенного расписания:

* * * * * — Каждую минуту.

*/10 * * * * — Каждую 10-ю минуту (0, 10, 20 и так далее).

0 0 * * * — Каждый день в 00:00 (полночь).

0 3 * * 6 — Каждую субботу в 03:00.

0 3 * * 1-5 — С понедельника по пятницу в 03:00.

0 3 1 * * — В 3 часа утра (03:00) каждый первый день месяца.

0 3 */4 * * — В 3 часа утра (03:00) каждый четвертый день.

------------

Следите за новостями в телефоне? Подпишитесь на наш Telegram-канал.