Подробный гайд по настройке, использованию и отладке планировщика заданий в Astra Linux

Подробный гайд по настройке cron и systemd-timers в Astra Linux. Разбираем синтаксис, права доступа, логирование и особенности безопасности Special Edition.

2026.06.01                  


Подробный гайд по настройке, использованию и отладке планировщика заданий в Astra LinuxПодробный гайд по настройке, использованию и отладке планировщика заданий в Astra Linux Astra Linux базируется на Debian, поэтому в ней используются стандартные для Linux инструменты планирования заданий: cron (классический) и systemd timers (современный). Однако, в зависимости от редакции (Common Edition или Special Edition) и уровня безопасности, есть важные нюансы.


1. Cron (Классический планировщик)

cron — это демон, который выполняет команды по расписанию. Это самый распространенный способ.


1.1. Работа с пользовательскими задачами

Чтобы настроить расписание для текущего пользователя:

crontab -e

При первом запуске предложит выбрать редактор (рекомендуется nano).


Синтаксис строки:

* * * * * команда_выполнения
│ │ │ │ │
│ │ │ │ └── День недели (0-7, где 0 и 7 — воскресенье)
│ │ │ └──── Месяц (1-12)
│ │ └────── День месяца (1-31)
│ └──────── Час (0-23)
└────────── Минута (0-59)

Примеры:

1. Запускать скрипт каждый день в 3:00 ночи:
    0 3 * * * /opt/scripts/backup.sh
2. Запускать каждые 15 минут:
    */15 * * * * /opt/scripts/check_status.sh
3. Запускать только по будням в 9:00:
    0 9 * * 1-5 /opt/scripts/report.sh

1.2. Системные задачи (для всех пользователей)

Файлы находятся в /etc/cron.d/. Удобно для настройки задач от имени разных пользователей (например, root).


Пример файла /etc/cron.d/my_task:

# Формат: минута час день месяц день_недели пользователь команда
30 2 * * * root /opt/scripts/system_update.sh

Важно:

В файлах /etc/cron.d/ обязательно указывать имя пользователя.


1.3. Специальные директории

В Astra Linux (как и в Debian) есть папки для периодического запуска скриптов без сложного синтаксиса:

  • /etc/cron.hourly/ — каждый час.
  • /etc/cron.daily/ — каждый день.
  • /etc/cron.weekly/ — каждую неделю.
  • /etc/cron.monthly/ — каждый месяц.

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


2. Systemd Timers (Современный подход)

systemd предлагает более гибкое управление задачами: логирование, зависимости сервисов, точное расписание.


2.1. Структура

Для одной задачи нужно создать два файла в /etc/systemd/system/:

  1. .service — описывает, что делать.
  2. .timer — описывает, когда делать.

2.2. Пример настройки (Резервное копирование)

Шаг 1. Создаем сервис (/etc/systemd/system/backup.service):
[Unit]
Description=Backup Script Service

[Service]
Type=oneshot
ExecStart=/opt/scripts/backup.sh
User=root

Шаг 2. Создаем таймер (/etc/systemd/system/backup.timer):
[Unit]
Description=Run Backup Daily at 3:00 AM

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

Persistent=true означает, что если система была выключена в время запуска, задача выполнится сразу после включения.


Шаг 3. Активация:
sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer

Шаг 4. Проверка:
systemctl list-timers --all

3. Особенности Astra Linux

3.1. Безопасность (Parsec / Мандатный контроль)

Если вы используете Astra Linux Special Edition (SE) с включенным режимом усиленной защиты (УЗ):

  1. Метки безопасности: Скрипты, запускаемые через cron, наследуют контекст безопасности пользователя. Если скрипт пытается читать файлы с более высокой меткой, доступ будет заблокирован.
  2. Запуск от root: В режиме УЗ прямой вход под root часто запрещен. Используйте sudo или настройте задачи через systemd с указанием пользователя, имеющего необходимые привилегии.
3. Исполняемость: Убедитесь, что у скриптов есть права на выполнение:
    chmod +x /opt/scripts/script.sh

3.2. Логирование

В Astra Linux логи планировщика можно найти в двух местах:

1. Для Cron:
    grep CRON /var/log/syslog
    # или
    grep CRON /var/log/cron.log (если включено в rsyslog)

2. Для Systemd:
    journalctl -u backup.service
    journalctl -u backup.timer

4. Частые проблемы и решения

Проблема:

Скрипт работает вручную, но не в cron

Причина:

Отсутствуют переменные окружения (PATH)

Решение:

Используйте полные пути к командам (например, /usr/bin/rsync вместо rsync) или укажите PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin в начале crontab.


Проблема:

Permission denied

Причина:

Нет прав на выполнение или доступ к файлам

Решение:

chmod +x script.sh, проверьте владельца файлов. В Astra SE проверьте мандатные метки.


Проблема:

Задача не запускается в Astra SE

Причина:

Блокировка механизмом защиты (Parsec)

Решение:

Проверьте /var/log/parsec/audit.log. Возможно, нужно изменить контекст безопасности скрипта или запустить его в домене с более высокими привилегиями.


Проблема:

Нет вывода скрипта

Причина:

Cron не отправляет вывод на терминал

Решение:

Перенаправьте вывод в файл: 0 3 * * * /script.sh >> /var/log/script.log 2>&1.


5. Графический интерфейс (GUI)

В Astra Linux Common Edition (с рабочим столом Fly) может быть доступен графический инструмент:

  1. Откройте меню Пуск.
  2. Найдите раздел Системные -> Планировщик заданий (иногда называется kcron или аналог).
3. Если его нет, его можно установить (в репозиториях CE):
    sudo apt install kcron

Примечание:

В Special Edition графические утилиты часто ограничены в целях безопасности, поэтому рекомендуется использовать командную строку (CLI), описанную выше.


6. Чек-лист

  1. Определите тип задачи: Разовая (at) или регулярная (cron/systemd).
  2. Выберите инструмент: Для простых задач — cron, для сложных с зависимостями — systemd timers.
  3. Пути: Всегда пишите полные пути к скриптам и утилитам.
  4. Логи: Настройте логирование вывода скрипта, чтобы отлавливать ошибки.
  5. Безопасность: В Astra SE проверьте, не блокирует ли выполнение задача система мандатного контроля.

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта