TeaHost
панельавтоматизация5 мин. чтения

Планировщик задач сервера: cron в панели

Планировщик задач сервера: синтаксис cron, готовые расписания для рестартов, бэкапов и вайпов, типичные ошибки и проверка, что задача реально выполнилась.

Кратко

Планировщик в панели выполняет по cron-расписанию команды консоли, рестарт, остановку и бэкап. Расписание задаётся пятью полями cron: минута, час, день месяца, месяц, день недели; звёздочка означает «любое значение», шаг /4 в поле часа — «каждые 4 часа». Минимум: бэкап в 05:30, рестарт с предупреждением в 06:00 и периодическое сохранение мира; часовой пояс панели проверьте отдельно.

Ночной рестарт, утренний бэкап, объявление о вайпе по пятницам — всё это можно делать руками, но ровно до первого отпуска. Планировщик задач сервера в панели выполняет действия по расписанию: перезапускает, шлёт команды в консоль, снимает копии. Разберём синтаксис cron без академизма, готовые расписания под реальные сценарии и грабли, на которые наступают почти все.

Что умеет планировщик

Типовой набор действий в панели:

  • Отправить команду — любая строка, которую вы ввели бы в консоль: save-all, say Рестарт через 5 минут, oxide.reload Kits.
  • Перезапустить сервер — корректный рестарт с сохранением.
  • Остановить или запустить — для серверов, которые не должны работать круглосуточно.
  • Создать бэкап — снимок директории по расписанию.

Задачи в панели обычно состоят из расписания и списка действий, выполняемых по порядку. Это важно: одна задача может сначала объявить в чат, потом сохранить мир, потом перезапустить — с задержками между шагами.

Как работает планировщик задач сервера: синтаксис cron

Расписание задаётся пятью полями через пробел:

код
минута  час  день_месяца  месяц  день_недели

Диапазоны значений: минута 0–59, час 0–23, день месяца 1–31, месяц 1–12, день недели 0–7 (и 0, и 7 — воскресенье). Полное описание формата — в man-странице crontab(5).

Спецсимволы, которых хватает для 99% задач:

СимволЗначениеПримерКогда сработает
*любое значение* * * * *каждую минуту
*/Nкаждые N единиц*/15 * * * *каждые 15 минут
A,B,Cперечисление0 6,14,22 * * *в 6:00, 14:00 и 22:00
A-Bдиапазон0 9-18 * * *каждый час с 9 до 18

Читается справа налево от общего к частному, но проще запомнить порядок: «минута часа дня месяца недели».

Готовые расписания

код
0 6 * * *          ежедневно в 06:00
0 */4 * * *        каждые 4 часа
30 3 * * 1         по понедельникам в 03:30
0 5 1 * *          первого числа каждого месяца в 05:00
*/30 * * * *       каждые полчаса
0 4 * * 4          по четвергам в 04:00

Последнее — классика Rust: официальный вайп выходит в первый четверг месяца, и серверы подстраиваются под него. Подробнее про циклы в статье о расписании вайпов.

Часовой пояс проверьте отдельно. Панели часто работают в UTC, и задача «в 6 утра» окажется в 9 по Москве. Если в интерфейсе есть выбор зоны — выставьте свою; если нет — считайте смещение руками.

Сценарии, которые стоит настроить сразу

Ночной рестарт с предупреждением. Сервер, работающий неделями без перезапуска, накапливает утечки памяти и мусорные сущности. Раз в сутки — здоровая практика.

Задача в 05:55, действия по порядку:

код
say Рестарт сервера через 5 минут
(пауза 240 секунд)
say Рестарт через 1 минуту, выходите в безопасное место
(пауза 55 секунд)
save-all
(пауза 5 секунд)
restart

Если панель не умеет паузы внутри задачи — заведите три отдельные задачи на 05:55, 05:59 и 06:00.

Бэкап перед рестартом. Ставьте снятие копии на 05:30, до перезапуска, а не после. Настройка описана в статье про автобэкапы.

Сохранение мира по таймеру. save-all каждые 30 минут для Minecraft, server.save для Rust. Уменьшает потери при внезапном падении.

Автовайп Rust. Комбинация из объявления, остановки, удаления файлов карты и запуска. Механика вайпа разобрана в статье про настройку вайпа на Rust-сервере, список файлов — в пошаговой инструкции по вайпу.

Регулярные объявления. say Правила сервера: /rules раз в 20 минут — раздражает меньше, чем кажется, если текст короткий и полезный.

Выключение на ночь. Для приватных серверов с друзьями: запуск в 17:00, остановка в 02:00. Ночью мир не меняется без присмотра, а утром сервер стартует со свежей памятью.

Типичные ошибки

Перепутаны поля. 5 0 * * * — это 00:05, а не 05:00. Пятое поле — день недели, не день месяца. Перед сохранением проговорите расписание вслух: «нулевая минута шестого часа каждого дня».

Слишком частый запуск. */1 * * * * с тяжёлой командой вроде save-all на большом мире превращает сервер в слайд-шоу. Сохранение раз в минуту не нужно никому.

Пересекающиеся задачи. Бэкап в 06:00 и рестарт в 06:00 — гарантированный повреждённый архив: сервер выключается посреди архивации. Разносите тяжёлые операции минимум на 15–20 минут.

Команда со слешем. В консоли команды пишутся без /. Строка /say Привет в планировщике для Minecraft чаще всего не сработает.

Рестарт в прайм-тайм. Перезапуск в 20:00, когда на сервере пик онлайна, — верный способ потерять игроков. Смотрите статистику посещаемости и ставьте на провал активности.

Задача создана, но выключена. Банально, но встречается: в панели есть переключатель активности, и после создания он не всегда включён по умолчанию.

Как проверить, что задача отработала

Не полагайтесь на то, что расписание выглядит правильно. Проверьте фактически.

Посмотрите в панели время последнего и следующего запуска задачи — это самый прямой индикатор. Если «последний запуск» пуст через сутки, задача не выполняется.

Загляните в консоль в момент срабатывания или в лог сервера за нужное время: команда из планировщика видна в выводе так же, как введённая руками. Где искать логи — в статье про консоль сервера.

Для проверки новой задачи не ждите сутки: временно поставьте её на ближайшие пару минут, убедитесь, что отработала, и верните нормальное расписание.

Что не стоит вешать на планировщик

Не автоматизируйте то, что требует решения. Автоматическая очистка сущностей с агрессивными настройками однажды снесёт игроку сундук с вещами. Автоудаление старых файлов по маске рано или поздно зацепит нужное.

И не превращайте планировщик в замену мониторингу: задача «перезапускать сервер каждые 2 часа» лечит симптом утечки памяти, а не причину. Разобраться с нагрузкой поможет статья про мониторинг нагрузки в панели.

Настройте три базовые задачи — бэкап, сохранение мира, ночной рестарт с предупреждением — и сервер станет заметно стабильнее без вашего участия. Тарифы с планировщиком в панели — на странице цен.