A maneira simples, mas correta, de ter um script bash envia a saída para o diário do systemd?

3

Eu simplesmente tenho colocado algo assim no topo dos meus scripts bash. Isso ainda funciona com o systemd. (Eu usei isso por um longo tempo e eu não entendo completamente. Simplesmente funciona, então eu uso).

exec 5> >(logger -t $0)
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x

Mesmo com o systemd, os comandos acima fornecem a saída esperada no journalctl. No entanto, parece que talvez eu deva estar usando algo assim em vez disso.

systemd-cat -t $0

Como devo alterar meus comandos atuais de registro no systemd?

(Estou procurando o mesmo tipo de solução simples, onde posso colar algumas linhas e obter alguma saída no diário.)

    
por MountainX 19.09.2017 / 06:39

1 resposta

4

Eu ficaria com logger : funciona com qualquer sistema de registro em conformidade com os padrões, incluindo o diário do systemd como você descobriu. Usar systemd-cat diretamente só tornaria seus scripts systemd-específicos, sem adicionar nada; na verdade, o logger moderno é muito mais flexível e fornece um melhor suporte para o systemd -fechos específicos do que systemd-cat em si.

    
por 19.09.2017 / 07:15