Запуск служб по расписанию

Запуск служб по расписанию #

Васильев Андрей Михайлович, 2024

Версии презентации


Запуск служб по расписанию #

Ряд служб могут быть приложениями, которые выполняют поставленную задачу:

  • Выполняют резервное копирование
  • Выполняют обновление ключей безопасности
  • Очищают каталоги с журналами

Они не работают постоянно, а выполнив свою задачу, отключаются

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


Виды таймеров #

systemd поддерживает следующие таймеры:

  • Таймеры по расписанию: активируются при наступлении некоторого события по времени
  • Монотонные таймеры: выполняют действия через некоторое время после наступления события

Настройка таймера для службы #

  • Конфигурационные файлы таймера располагаются рядом с .service-файлами службы
  • Расширение файла с конфигурацией таймера — .timer
  • Название файлов без расширения должны совпадать
  • Описание полей находится в man-странице systemd.timer

Простой таймер #

Предположим, что мы описали службу с помощью файла system-n.service

Создадим таймер, который будет запускать эту службу каждую ночь

[Unit]
Description=Запускаем службу каждую ночь

[Timer]
OnCalendar=01:00

[Install]
WantedBy=timers.target

Для проверки параметров запуска по календарю удобно воспользоваться приложением systemd-analyze calendar 01:00


Запуск таймера #

После добавления конфигурационного файла таймера его также, как и службу необходимо:

  • Запустить с помощью команды systemctl start
  • Настроить автоматический запуск с помощью systemctl enable

Автоматический запуск таймера #

Таймеры сами по себе не предоставляют какую-либо дополнительную функциональность в отличие от служб, поэтому их надо связывать с целью timers.target.


© A. M. Васильев, 2025, CC BY-SA 4.0, andrey@crafted.su