Получение температуры процессора, сохранение ее в VAR и отправка на сервер

Если я вас правильно понял, и если предположить, что ваш sshна localhostслушает порт 22, то:

awk '{print "[localhost]:22 " $1 " " $2}' /etc/ssh/ssh_host_ecdsa_key.pub

напечатает запись known_hosts. Обратите внимание, что некоторые реализации ssh скрывают записи в ~/.ssh/known_hosts, а приведенная выше команда — нет.

# awk '{print "[localhost]:22 " $1 " " $2}' /etc/ssh/ssh_host_ecdsa_key.pub
[localhost]:22 ecdsa-sha2-nistp256 AAAAE2............g7vPmspiyg=
-2
10.11.2020, 17:20
2 ответа
temp=`sensors | awk '/temp1/{print $2}'`

curl -i -k -X POST -H "Content-Type: application/json" --data "{ \"id\":\"2\",\"timestamp\":\"100\",\"data\":\"$temp\"}" $URL
0
18.03.2021, 22:50
TEMP=$(sensors -j | jq '."cpu_thermal-virtual-0"."temp1"."temp1_input"')
curl -i -k -X POST -H "Content-Type: application/json" --data '{ "id":"2","timestamp":"100","data":"'${TEMP}'"}' https://dv7knsjzph.execute-api.eu-central-1.amazonaws.com/prod/boxtronic-devices/2/data/

$()должен получить вывод и сохранить его в переменнойTEMP(подобно обратным кавычкам `, но может быть инкапсулирован)

-jдля командыsensors-выводит данные json -в формате

jq— это инструмент для работы с json. Использование кавычек важно, потому что -имеет особое значение для jq. Выход части внутри $()должен быть необработанной температурой.

В строкеcurl-температура вводится из переменной TEMP-. Обратите внимание, что это должно быть вне какой-либо одиночной цитаты -, потому что в противном случае оно останется как ${TEMP}вместо того, чтобы быть замененным содержимым переменных. Фигурные скобки необязательны, но желательны.

0
18.03.2021, 22:50

Теги

Похожие вопросы