⏰ Systemd вместо cron: как настроить таймеры правильно

⏰ Systemd вместо cron: как настроить таймеры правильно
Привет, друзья! Сегодня покажу, как можно элегантно заменить cron с помощью systemd-таймеров. Это удобно, прозрачно и гибко — особенно в серверной среде, где важен контроль над логами, зависимостями и запуском задач.
💡 Почему лучше, чем cron?
-
логи идут через journalctl
-
удобная отладка: systemctl status, list-timers
-
можно задать зависимости и условия запуска
🛠 Пример: скрипт бэкапа раз в день
Допустим, у нас есть скрипт /usr/local/bin/backup.sh. Создадим два юнит-файла:
🔹 backup.service
[Unit]
Description=Daily backup job
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh
🔹 backup.timer
[Unit]
Description=Run daily backup
[Timer]
OnCalendar=--* 03:00
Persistent=true
[Install]
WantedBy=timers.target
📌 OnCalendar=--* 03:00 — запуск каждый день в 03:00
📌 Persistent=true — если сервер был выключен в это время, задача выполнится при следующем старте
🚀 Активация:
sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer
Проверить активные таймеры:
systemctl list-timers
Посмотреть логи:
journalctl -u backup.service
С systemd всё под контролем! А ты уже пробовал такие таймеры вместо cron?
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin
👉 @linux_odmin