Disclaimer: Eu sou um pouco novo para a comunidade, por favor, seja gentil:)
Estou tendo um problema de SSH que simplesmente não consigo explicar. Como pano de fundo, aqui está o problema que estou resolvendo:
There are several disparate Java services that existing within the environment that need to be deployed via a common interface. Logging of these services must be directed to a syslog facility. The common interface must be accessible via the command line and via the Jenkins GUI.
Quando comecei a ver problemas, adicionei o redirecionamento ao syslog. Se eu remover o redirecionamento do syslog, tudo funcionará bem. Aqui está um trecho de código que é chamado para executar os processos Java (limpo para facilitar a leitura):
/bin/java myJavaProgram -DvariousFlags=true &> >(logger -p local3.info -t "my prefix") 2>&1 &
Aqui é onde minha mente fica um pouco confusa - se eu executar o comando que chama esses scripts do servidor no qual o Jenkins está como usuário do Jenkins, o comando funciona. Se eu passar pela GUI do Jenkins, o trabalho simplesmente será interrompido. Estou executando o seguinte comando no Jenkins:
ssh -t [email protected] 'appctl restart all' 2>/dev/null
Confirmei com o sinalizador #!/bin/bash -x
que o script está chegando ao fim. Quando eu corro com o ssh -vvv
, o seguinte é a última linha de saída:
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Alguma idéia sobre para onde ir a partir daqui? Existe uma maneira melhor de realizar o recurso de syslog? Há algo de errado com meu encanamento?