Systemd timer: время выходить из пещеры

Я ощущаю себя пещерным человеком.

Мне уже много лет, и есть вещи, к которым я привык настолько, что воспринимаю их как константу. Они всегда на своих местах. Они всегда работают. Я никогда не задумываюсь, есть ли что-то еще — потому что зачем, если и так все хорошо?

Когда мне нужно запускать что-то регулярно, с заданной периодичностью — я использую cron. Я не знаю, сколько лет этой утилите. Мне кажется, она была всегда. Открыл crontab -e, написал расписание и забыл. А оно работает.

Но сегодня, решая очередную задачу с периодическим запуском, я с удивлением узнал, что альтернатива существует. Причем довольно давно.

Systemd timer — это механизм планирования задач, встроенный в systemd. Он решает те же задачи, что и cron, но с бо́льшей точностью и бо́льшим количеством опций:

Совсем недавно мне нужно было настроить автоматическую ротацию случайно генерируемых gRPC-путей между нодами. Для этого можно было бы использовать cron. Но… Наверное, пора выходить из пещеры.

@A1exMa
20.04.2026 22:20 UTC
Первоисточник

Комментарии

@legendasofizma
20.04.2026 18:42 UTC
0

А ещё оказывается systemd умеет с /dev/watchdog работать из коробки, делая ненужными всякие apt install watchdog и прочее такое.

@Xelld
20.04.2026 18:49 UTC
+2

А следующими открытиями будут resolved, networkd и mounts? :)

@v0rdych
21.04.2026 04:20 UTC
0

Mounts изрядно странный в systemd. Зачем было жестко увязывать имя юнита с путем монтирования - лютая загадка.

21.04.2026 08:30 UTC
+1

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

Но контролировать условия и зависимости в systemd все же намного удобнее, чем в fstab.

@ss-pol
20.04.2026 19:08 UTC
+2

зато cron есть везде, а systemd - нет

@rSedoy
21.04.2026 12:33 UTC
+1

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

21.04.2026 15:31 UTC
+1
21.04.2026 15:38 UTC
0

а реальный процент и не притянутых сюда Android и других чем-то подобных (не удивлюсь, что в этом списке окажутся даже и без cron), а условно "серверных"?

21.04.2026 17:53 UTC
0

Почему только серверных, на десктопе крон не нужен что-ли?

Я мало чем пользовался, но вот один из первых в списке Alpine Linux - часто используется в контейнерах на серверах потому что он компактный и требует мало памяти. Потом Devuan - тоже вполне для сервера подходит. OpenWrt - чисто серверный, для роутеров. Это из тех, с которыми знаком не понаслышке.

А так там довольно много дистрибутивов, которые "на слуху": CalyxOS Calculate Linux GNU Guix

21.04.2026 18:01 UTC
0

так какой их процент? В контейнерах обычно не cron используют, а что-то внешнее. Ладно, "серверных" неудачное определение, а то чтобы сюда и OpenWrt сразу притянули, пусть будет конкретная и самая большая часть - VPS, много там Devuan и прочих без systemd?

21.04.2026 18:24 UTC
-1

Да какая разница, много, мало... Есть стандарт, который работает везде и всегда, это крон. А системд - как повезёт.

21.04.2026 18:38 UTC
0

как повезёт.

Нет, не как повезет, с большой вероятность будет systemd. А как повезет, уже как про шанс 50 на 50 - либо повезет, либо нет ;)

@glebliutsko
21.04.2026 06:06 UTC
+3

У systemd только одна проблема.

В cron расписание настраивается одной строчкой, которую я на изусть напишу. В systemd нужно создать 2 файла по 5-10 строк, которые я наизусть не напишу. Постоянно либо в гугл иду или в ChatGPT

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

@Xelld
21.04.2026 08:32 UTC
0

Сам systemd прекрасен (и ужасен) своей гибкостью и богатым функционалом. За это приходится платить :)

@Xelld
21.04.2026 08:34 UTC
0

Ну и почему же "недо-контейнер"? Тот же podman предлагает именно такой вариант управления.

И возможность управления из юнита cgroup, namespace и прочими крутилками порой очень выручает.

22.04.2026 12:44 UTC
0

Про "недо-контейнер", это я про встроенные возможности systemd по ограничению доступа скрипта к хосту (всякие там ProtectSystem=strict и т.п.), без всяких podman.

@
21.04.2026 15:32 UTC
0
НЛО прилетело и опубликовало эту надпись здесь