У меня есть cronjob, который занимает почасовое резервное копирование. Теперь я хочу передать любой stderr в 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"

Но я не уверен, как передать stderr в мой API. Пожалуйста помоги.

1 ответ1

0

попробуйте что-то вроде:

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"

Таким образом, вы назначаете выходы stdout и stderr переменной OUTPUT и вставляете их в строку запроса.

Однако я предлагаю вместо этого использовать HTTP-запрос POST и параметр -d для передачи данных в тело, если вы не правильно кодировали выходные данные из файла script.sh. Используя POST, вы также можете попробовать --data-urlencode

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .