Saída nohup do pipe para logger w / different priorities

2

Eu tenho um script Python de terceiros para ser executado em segundo plano usando nohup. E, em vez de canalizar a saída para um arquivo, eu gostaria que a saída fosse anexada ao log do sistema usando logger . Adicionado a isso eu preciso que a saída de erro seja registrada usando a prioridade "user.error" e a saída regular "user.notice". Desta forma, tenho certeza que pelo menos os erros aparecem nos logs.

Executar um comando simples sem nohup parece funcionar:

ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)

Executar este / w nohup, no entanto, produz resultados inesperados

nohup sh -c ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag) &

O log conterá "nohup: ignorando entrada" e algumas vezes até entradas vazias.

Alguém pode me ajudar a escrever este comando corretamente?

    
por Jan Goyvaerts 10.11.2017 / 15:00

1 resposta

0

Você está redirecionando a saída de nohup para o logger. Para redirecionar a saída de ls (ou seu script python), você pode usar a substituição de comando :

nohup sh -c $(ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)) &
    
por 11.11.2017 / 18:24

Tags