温度、CPU負荷、およびメモリデータをrrdtoolテーブルに書き込んでいます。更新では、時間を渡すためにNを使用していますが、時間がずれているという問題があります。最終更新時刻が1487212862(最小1秒ステップ)であるときに時刻1487152126を使用して更新しようとする違法な試みこれはかなりの時差であり、なぜそれほど遠くなるのかわかりません。どんな助けも素晴らしいです-昨日は完全にうまく機能していたので、どこがうまくいかなかったのか分かりません。更新機能:
#!/bin/bash
cd /temptest/
TEMPERATURE=$(/opt/vc/bin/vcgencmd measure_temp | sed 's/[^0-9]*//g')
TEMPERATURE=$(echo $TEMPERATURE | sed 's/.$/.&/')
CPULOAD=$(top -d 0.5 -b -n2 | grep "Cpu(s)"|tail -n 1 |
awk '{print $2 +$4}')
PIMEM=$(free -h | grep "Mem:" | awk '{print $4}')
PIMEM=$(echo $PIMEM | sed 's/[^0-9]*//g')
PIMEMTOTAL=$(free -h | grep "Mem:" | awk '{print $2}')
PIMEMTOTAL=$(echo $PIMEMTOTAL | sed 's/[^0-9]*//g')
PIMEMPERCENT=
$(awk -v mem="$PIMEM" -v tot="$PIMEMTOTAL" 'BEGIN{print (mem/tot) $
/usr/bin/rrdtool update pitable.rrd N:$TEMPERATURE:$CPULOAD:0:$PIMEMPERCENT
N:
を使用しているため、rrdtoolはシステム時刻を使用します。このようなエラーは、システム時刻が変更されたことを意味します...おそらくいくつかの設定ミス...タイムゾーンが設定され、時刻が再調整されましたか? Rrdtoolは内部でUTCを使用します!