Який правильний спосіб відключити блок системного таймера?


18

Я успішно перемістив декілька моїх робочих записів на систему. Я дотримувався деяких посібників і застосував стандартний підхід до створення трьох файлів:

myjob.timer - systemd timer unit
myjob.service - systemd service unit
myjob.sh

Як ви, напевно, можете здогадатися, у певний час спрацьовує myjob.timer, який запускає myjob.service, який, у свою чергу, виконує myjob.sh.

У мене однакові настройки для всіх моїх таймерів, і тепер, коли я бачу, що все працює нормально, я хочу відключити myjob.timer, який є просто тестером.

Я просто роблю:

systemctl --user disable myjob.timer

або я також повинен робити:

systemctl --user disable myjob.service

Що правильно робити? Я зовсім новачок у систематизації, тому я хотів би навчитися робити речі належним чином. Я здогадуюсь, що правильно відключити обидва пристрої, щоб система не мала зайвого багажу.

Відповіді:


18

якщо myjob.serviceне містить [Install]блоку, то достатньо лише відключити таймер. Таймер був єдиним, що запускає .serviceфайл, тому з .timerвимкненим режимом нічого не запустить .serviceфайл.

Також пам’ятайте бігати systemctl --user stop myjob.timer. Вимкнення таймера запобігає його запуску при наступному завантаженні, але це не зупиняє запущений в даний час таймер.


У кожному блоці таймерів є блок [Встановити]. У ньому є один запис із заголовком "WantedBy = default.target". Я отримав це від путівників, за якими я дотримувався. Чи можу я просто позбутися блоку [Встановити]?
bitofagoob

1
ДОБРЕ. Я читав про розділ [Встановити] і вважаю, що WantedBy = default.target якраз там, щоб забезпечити, що при включенні блоку буде реалізовано будь-який звичайний сеанс завантаження (або багатокористувацький, або графічний). Я прийму поради Марка Стосберга і відключу лише блок таймера. Я також позначу його відповідь як рішення. Ура!
bitofagoob

2
Ви хочете, щоб розділ [Встановити] на таймерних одиницях, щоб вони були запущені під час завантаження. Зазвичай WantedBy=timers.target. [Install]Розділ для послуги вам потрібен лише в тому випадку, якщо ви хочете, щоб послуга була запущена під час завантаження, що здається, що ви не хочете в цьому випадку.
Марк Стосберг

1
Спасибі. Я видалив розділ [Встановити] з сервісного блоку та змінив розділ [Встановити] у своєму таймері на WantedBy = timers.target.
bitofagoob
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.