Qual é a maneira correta de desativar uma unidade temporizada do systemd?

14

Migrei com sucesso alguns dos meus trabalhos do cron para o systemd. Eu segui alguns guias e tomei a abordagem padrão de criar 3 arquivos:

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

Como você provavelmente pode imaginar, em um determinado momento myjob.timer é acionado, que executa myjob.service, que por sua vez executa myjob.sh.

Eu tenho a mesma configuração para todos os meus timers e agora vejo que tudo está funcionando bem. Desejo desativar myjob.timer, que é apenas um testador.

Eu apenas faço:

systemctl --user disable myjob.timer

ou eu também tenho que fazer:

systemctl --user disable myjob.service

Qual é a coisa correta a fazer? Eu sou muito novo no systemd, então eu gostaria de aprender como fazer as coisas da maneira correta. Eu estou supondo que é correto desabilitar ambas as unidades, a fim de manter o sistema livre de excesso de bagagem.

    
por bitofagoob 08.05.2017 / 17:13

1 resposta

11

se myjob.service não contiver [Install] block, então é suficiente apenas desabilitar o timer. O cronômetro foi a única coisa que iniciou o arquivo .service , portanto, com o .timer desativado, nada iniciará o arquivo .service .

Lembre-se também de executar systemctl --user stop myjob.timer . Desabilitando o timer impede que ele seja iniciado na próxima inicialização, mas não para o temporizador atualmente em execução.

    
por 08.05.2017 / 17:40