Armbian で温度を記録するスクリプト

Armbian で温度を記録するスクリプト

他にも非常に似たような質問があることは承知していますが、私の問題の答えは見つかりません。私は、nextcloud インスタンス用に armbian を搭載した odroid hc2 sbc を実行しています。2 日前、1 年以上安定して実行していたのに初めてクラッシュしました。過熱が原因ではないため、温度を監視するスクリプト、つまり組み込み関数「armbianmonitor」を実行するスクリプトを作成し、次の連続出力を作成したいと思います。

Stop monitoring using [ctrl]-[c]
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   CPU  C.St.

09:52:33:  600/ 600MHz  0.23  12%   1%  10%   0%   0%   0% 53.0°C  0/13
09:52:38: 1400/ 600MHz  0.21   2%   0%   1%   0%   0%   0% 53.0°C  0/13
09:52:43: 1400/ 600MHz  0.20   2%   0%   1%   0%   0%   0% 53.0°C  0/13^C

と:

sudo armbianmonitor -m | awk '$11 ~ "°C" {print $1; print $1;exit1}' ORS=' '

次のような結果が得られます:

09:57:48: 53.0°C 09:57:53: 51.0°C 09:57:58: 51.0°C 09:58:03: 51.0°C 

しかし、スクリプトの実行ごとに 1 つのペア (時間と温度) だけを取得したいのです。言い換えると、awk および/または (?) armbianmonitor は、最初のペアを返した後に停止するはずです。また、このコマンドを呼び出すスクリプトの出力をファイルにパイプしようとしましたが、ファイルは空のままです。これは、armbianmonitor が連続出力を作成するためでしょうか?

答え1

私は少し異なる道を歩み、次のようにしました。

毎分実行:

#!/bin/bash

dttm=$(date +"%d.%m.%Y %H:%M;")
temp=$(echo $(cat /sys/devices/virtual/thermal/thermal_zone0/temp) /1000 | bc)

echo $dttm $temp

答え2

これによればページこのファイルにアクセスします:

/etc/armbianmonitor/datasources/soctemp

1秒時計の例:

watch -n 1 cat /etc/armbianmonitor/datasources/soctemp

関連情報