Как стать автором
Обновить

Комментарии 16

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

Очистку временных директорий (а так-же их создание/удаление и/или создание/удаление файлов, плюс раздачу прав и владельцев этих файлов и директорий) логичнее и правильнее делать при помощи подсистемы tmpfiles
man tmpfiles.d
Но да… Именно очистка делается системным сервисом systemd-tmpfiles-clean.service, который в свою очередь запускается таймером systemd-tmpfiles-clean.timer.
И тем и тем… Причём задания cron работают через таймеры systemd.
Материалы Леннарта Поттеринга
Отсутствует ссылка, увы (

это же перевод — надо просто ткнуть на первоисточник и там все оригинальные ссылки автора присутствуют:

Пока пилил свой "умный дом" тоже столкнулся с systemd и пересмотрел своё мнение о нём. Тоже была проблема с неточным срабатыванием таймера. Конечно, решил. Но всё равно хочется избавиться от ежеминутного скрипта и заменить чем-то более простым. Побочный эффект от такого таймера — каждую минуту идёт запись в лог факта срабатывания таймера. А если используется Raspberry Pi, то запись идёт на флешку. Лог, по сути, бесполезен, но ресурс флешки убивает.

В /etc/systemd/journald.conf (или в /etc/systemd/journald.conf.d/whatever.conf):


[Journal]
Storage=volatile

Блин, не знал. Спасибо большое.

На Centos 7
sudo systemctl status *timer

выдает пустую строку, а
systemctl list-timers

работает.
При посте переводных статей неплохо бы проверять что там написано, тк вывод команды
systemctl status

вообще имеет вид несколько отличный от того что опубликовано.

Сильно от shell зависит


ᐅ  sudo systemctl status *timer  
zsh: no matches found: *timer
ᐅ  sudo systemctl status \*timer
… correct output…
ᐅ  bash
$ sudo systemctl status *timer
… correct output…
ᐅ  lsb_release -dvrs
1.4 "Arch Linux" rolling

Идея команды понятна и habr – это не lor, чтобы бездумно копипастить (:


Автору – спасибо за перевод.

зависит от версии systemd очевидно
По-моему описание «косая черта (/)… для указания дня недели» не очень соответствует её употреблению в примерах. И в примерах косая черта по-разному модифицирует запись в зависмости от предстоящих — или ~, что неочевидно.
Давно пользуюсь вместо cron'a — гораздо удобнее и не подводил ни разу пока что
Недавно освоил. В моем сценарии нужно было рестартовать сервис в полночь.
Если с кроном все более-менее лаконично, то в systemd приходится создавать юнит таймера и вызываемый юнит, который в свою очередь будет делать — systemd restart ...service. Выглядит костыльно, но по крайней мере в трекере уже есть баги по этому поводу с предложением добавить выбор действия над вызываемым юнитом — start (это как сейчас), stop, restart, etc…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий