Estou tentando enviar mensagem stdout para mailx - Red Hat

1

Tudo, obrigado pela sua ajuda ... Isso deve ser fácil:

Meu script imprime isso para stdout / terminal perfeitamente ... é bonito no script, mas não abaixo ... ???? :

# Print to stdout
echo "------- CAPACITY TEST FAILED -------"
echo -n "  SYSTEM NAME: " ; uname -n
echo -n "  USER DETAIL: " ; whoami
echo "  PARTITION:   $PART "
echo "  USED SPACE:  $USEDSPC "
echo "  THRESHOLD LIMIT OF $THRESH% EXCEEDED"
echo "------------------------------------"

Eu já experimentei várias opções / formatos de mailx, mas chegando perto de uma 'refeição feliz' ... Qualquer ajuda é incrível.

Por favor, note que eu não posso mudar o servidor Red Hat de qualquer forma, forma ou ... francamente eles não me querem respirando sobre ele ... meu trabalho é roteiro em torno dele! 1

    
por SSDdude 24.02.2018 / 00:18

2 respostas

2

Se você canalizar algum stdout no stdin do mailx, ele irá enviar isso como o conteúdo do email

echo "test body" | mailx -s test_subject [email protected]

Se o seu script for executado e gerar apenas essa saída, você poderá obter o resultado desejado com o seguinte:

/path/to/script | mailx -s subject_here [email protected]

Se essa parte do bash é apenas parte de um roteiro maior, você pode enviar tudo isso por e-mail, combinando todas as linhas acima em um grande eco:

echo -e "------- CAPACITY TEST FAILED -------\n  SYSTEM NAME: $(uname -n)\n  USER DETAIL: $(whoami)\n  PARTITION:   $PART \n  USED SPACE:  $USEDSPC \n  THRESHOLD LIMIT OF $THRESH% EXCEEDED\n------------------------------------" | mailx -s subject_here [email protected]
    
por 24.02.2018 / 00:36
1

Dentro do seu script, você também pode criar um sub-shell adicionando "(" ")" e canalizar sua saída:

(echo "------- CAPACITY TEST FAILED -------"
 echo -n "  SYSTEM NAME: " ; uname -n
 echo -n "  USER DETAIL: " ; whoami
 echo "  PARTITION:   $PART "
 echo "  USED SPACE:  $USEDSPC "
 echo "  THRESHOLD LIMIT OF $THRESH% EXCEEDED"
 echo "------------------------------------" ) | mailx ...
    
por 24.02.2018 / 11:38

Tags