![El comando no se ejecuta en Nagios](https://rvso.com/image/789275/El%20comando%20no%20se%20ejecuta%20en%20Nagios.png)
¿Alguien puede aclararme por qué el siguiente código no se ejecuta cuando lo coloco en la línea de comandos para un comando personalizado de Nagios? Funciona cuando lo ejecuto en la 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
Respuesta1
No es posible usar |
and &&
en Nagios command_line
, por lo que tendrías que empaquetar esto como un script. (Además, no funcionaría con el commnad_line
error tipográfico).
command_name notify-host-by-sms
commnad_line /usr/local/bin/notify-host-by-sms.sh $CONTACTPAGER$ $HOSTNAME$ $HOSTSTATE$ $HOSTADDRESS$ $LONGDATETIME$
Y luego use esos argumentos de línea de comando en el script, por ejemplo,
#!/bin/bash
echo -e "AT+CMGS=\"${1}\"\r" \
| socat -t3 - TCP:192.0.2.1:10002 \
|| exit 1
echo -e "${2} ${3} ${4} ${5}\x1A" \
| socat - TCP:192.0.2.1:10002 \
|| exit 1
(Agregué citas adicionales, porque AT+CMGS=
es posible que las necesiten en torno al valor. Creo que era su intención, pero simplemente no estaban disponibles).