Продолжаем ковырять systemd
Для того чтобы потыкать systemd, не обязательно обладать рутовскими правами или судой-мудой. Да, ты не ослышался, всё можно запускать под обычным юзером.
Делается это так:
systemctl --user enable bashdays.timer
Ключ --user означает, что команда применяется в пользовательском пространстве, а не на уровне всей системы.
Теперь этот юнит будет запускаться каждый раз при старте пользовательской сессии, а таймер начнёт тикать.
Эта штука создаёт символическую ссылку в ~/.config/systemd/user/ в директории default.target.wants/.
Если тебе нужно разово запустить такой юнит, то enable меняем на start. Вот и вся наука.
А как отлаживать?
1. Сначала нужно убедиться, что таймер активен:
systemctl --user status bashdays.timer
Если всё ок, то увидишь Active: active (waiting).
2. Смотрим расписание запуска
systemctl --user list-timers
NEXT— когда следующий запуск;LEFT— сколько осталось времени;LAST— когда запускался в прошлый раз;UNIT— имя таймера.
3. Проверяем, выполнялся ли сервис
journalctl --user-unit bashdays.service --since "1 hour ago"
Команда покажет логи выполнения скрипта. Можно сузить диапазон, например так:
journalctl --user-unit bashdays.service --since today
По дебагу это основное. Мелочи вроде синтаксических ошибок и т. п. рассматривать не будем, тут уже от кривизны рук всё зависит.








Комментарии