
他にも非常に似たような質問があることは承知していますが、私の問題の答えは見つかりません。私は、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