매우 유사한 질문을 하는 다른 질문이 있다는 것을 알고 있지만 그 중 어느 것도 내 질문에 대답하지 않는 것 같습니다. nextcloud 인스턴스를 위해 odroid hc2 sbc와 armbian을 실행하고 있습니다. 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
하지만... 스크립트를 실행할 때마다 한 쌍(시간 및 온도)만 필요합니다. 즉, awk 및/또는 (?) armbianmonitor는 첫 번째 쌍을 반환한 후 중지되어야 합니다. 또한 이 명령을 호출하는 스크립트의 출력을 파일로 파이핑하려고 시도했지만 파일이 여전히 비어 있습니다. 어쩌면 armbianmonitor가 연속 출력을 생성하기 때문일 수도 있습니다.
답변1
나는 약간 다른 길을 택했고 이제 다음을 수행합니다.
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