Alguém pode me esclarecer por que o código a seguir não está sendo executado quando o coloco em command_line para um comando personalizado do Nagios? Funciona quando executo no terminal.
command_name notify-host-by-sms
commnad_line echo -e "AT+CMGS="$CONTACTPAGER$"\r" | socat -t3 - TCP:XXX.XXX.XXX.XXX:10002 && echo -e "$HOSTNAME$ $HOSTSTATE$ $HOSTADDRESS$ $LONGDATETIME$\x1A" | socat - TCP:XXX.XXX.XXX.XXX:10002
Não é possível usar
|
and&&
no Nagioscommand_line
, então você teria que agrupar isso como um script. (Além disso, não funcionaria com ocommnad_line
erro de digitação.)E então use esses argumentos de linha de comando no script, por exemplo,
(Eu adicionei uma cotação extra, porque
AT+CMGS=
pode ser necessário em torno do valor. Acredito que era sua intenção, mas eles simplesmente não foram escapados.)