Z powodzeniem migrowałem kilka moich zadań cron do systemd. Postępowałem zgodnie z kilkoma przewodnikami i podjąłem standardowe podejście do tworzenia 3 plików:
myjob.timer - systemd timer unit
myjob.service - systemd service unit
myjob.sh
Jak zapewne można się domyślić, w pewnym momencie uruchamiany jest myjob.timer, który uruchamia myjob.service, która z kolei wykonuje myjob.sh.
Mam taką samą konfigurację dla wszystkich moich timerów i teraz, gdy widzę, że wszystko działa dobrze, chcę wyłączyć myjob.timer, który jest tylko testerem.
Czy po prostu robię:
systemctl --user disable myjob.timer
czy też muszę zrobić:
systemctl --user disable myjob.service
Co należy zrobić? Jestem całkiem nowy w systemd, więc chciałbym nauczyć się robić rzeczy we właściwy sposób. Zgaduję, że poprawne jest wyłączenie obu jednostek, aby system był wolny od nadmiaru bagażu.
źródło
WantedBy=timers.target
. Potrzebujesz tylko[Install]
sekcji dla usługi, jeśli chcesz, aby usługa była uruchamiana podczas rozruchu, co w tym przypadku wygląda na to, że nie chcesz.