Eu tenho um serviço systemd (v249) ( my-script.service
) que é executado a cada minuto por outro timer systemd ( my-script.timer
). Tudo está funcionando bem. Mas o systemd registra (para ele journald
e daí para /var/log/syslog
) as 2 linhas a seguir dizendo que ele começou e depois parou:
Aug 11 11:46:37 hostname1 systemd[1]: Started my-scripts.
Aug 11 11:46:37 hostname1 systemd[1]: my-scripts.service: Deactivated successfully.
Existe alguma maneira de desabilitar esta mensagem de log para este .service
/ .timer
? Quase o tempo todo não há saída para registrar (o script inicia, verifica se tem alguma coisa a fazer e sai no caso comum de nada a fazer). Essas mensagens de log são inúteis e pioram a relação sinal-ruído dos meus logs.
Eu sou relativamente novo no systemd, isso pode ser uma pergunta simples.
A criticidade das mensagens de log pode ser, como você pode encontrar na documentação do journald
EDITADO - alterou a criticidade padrão com um menor com "o valor de criticidade padrão com um maior"
Você pode configurar a criticidade padrão do seu serviço e o valor máximo de criticidade que deseja ver nos logs editando o arquivo de unidade. Portanto, se você configurar o valor de criticidade padrão com um valor maior que a criticidade máxima (prioridade mais alta tem valor 0, prioridade de depuração tem valor 7), as mensagens para o início e o término do serviço não serão exibidas em os logs
EDITADO - Mudou a representação do nível com números
Você deve produzir logs em seu serviço com uma prioridade mais alta (com um valor de prioridade mais baixo) que LogLevelMax (consulte Systemd for Developers III )
EDITADO - EXEMPLO ADICIONADO
Eu fiz um novo serviço trivial /root/Bin/test.bash que produz logs com nível 1 (alerta)
Eu criei uma nova unidade (/etc/systemd/system/jmr.service):
Depois disso, reconfiguro o systemd e reinicio o serviço duas vezes
Eu posso ver que os logs mostram apenas a mensagem "Done" (nada entre os dois logs)