TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #557 2.13K
🕘 Systemd timers против cron

Systemd timers - это более современный и гибкий способ планирования задач в linux, особенно на серверах с systemd.

🌟 Почему systemd timers лучше cron?

📍 Логирование по умолчанию - systemd записывает stdout/stderr задачи в journal, не нужно вручную перенаправлять вывод
📍 Зависимости и условия запуска - можно привязать таймер к другим сервисам, целям (targets) и условиям
📍 Точный контроль времени и интервалов - есть OnCalendar, OnBootSec, OnUnitActiveSec и другие
📍 Простой мониторинг - можно посмотреть статус задачи: когда запускалась, сколько длилась, когда запустится снова
📍 Юзер-таймеры - можно создавать таймеры без root-доступа для отдельных пользователей


▪️ Как настроить systemd timer. Создаем два юнита: *.service (что запускать) и *.timer (когда запускать).

Пример: бэкап в /var/backups каждую ночь в 3:00


vi /etc/systemd/system/backup.service



[Unit]
Description=Nightly backup

[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh



vi /etc/systemd/system/backup.timer



[Unit]
Description=Run backup script daily at 3AM

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

[Install]
WantedBy=timers.target


Активируем:


sudo systemctl daemon-reexec
sudo systemctl enable --now backup.timer


▪️ Проверить статус:


systemctl list-timers
systemctl status backup.timer
journalctl -u backup.service


▪️ Другие примеры таймеров. Через 5 минут после загрузки:


[Timer]
OnBootSec=5min


Каждые 15 минут:


[Timer]
OnUnitActiveSec=15min


Каждый понедельник в 6 утра:


[Timer]
OnCalendar=Mon *-*-* 06:00:00


▪️ Полезное:

📍 Устанавливайте Persistent=true, чтобы таймер отработал, даже если система была выключена в момент запуска
📍 Используйте systemctl cat для просмотра активных юнитов
📍 Для задач от пользователя используйте ~/.config/systemd/user/


#systemd #cron

🧑‍💻 NetworkAdmin
  • 👍 14
  • ❤ 3
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Oct 1, 2026CENTI CONF: DevOps Day — митап по разработке и инженерным решениям ⚡️ 6 ноября Centicore G…
  3. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  4. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  5. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  6. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →