Passe a saída do cronjob como parâmetro para curl

0

Eu tenho um cronjob que faz backup de hora em hora. Agora quero passar qualquer stderr para uma API.

0 * * * * /usr/local/sbin/script.sh 2>&1 | curl -k -X GET "https://192.168.0.25/path/of/joomla/instance/index.php?option=com_user&task=sendSMSalert&msg=variable"

Mas não sei como passar o stderr para minha API. Por favor ajude.

    
por Ash 31.08.2018 / 10:38

1 resposta

0

tente algo como:

0 * * * * OUTPUT=$((/usr/local/sbin/script.sh) 2>&1)  && curl -k -X GET "https://192.168.0.25/path/of/joomla/instance/index.php?option=com_user&task=sendSMSalert&msg=$OUTPUT"

Desta forma, você está atribuindo as saídas stdout e stderr à variável OUTPUT e inserindo-as na string de consulta.

No entanto, sugiro usar um HTTP POST e o parâmetro -d para passar os dados para o corpo, caso você não esteja digitalizando adequadamente a saída do script.sh. Usando o POST você também pode tentar --data-urlencode

    
por 31.08.2018 / 18:33