Portál AbcLinuxu, 12. května 2025 06:44
datadir="/tmp/stats/data"
imgdir="/tmp/stats/img"
datafile="$datadir/temp.rrd"
outfile="$imgdir/temp_small.png"
rrdtool create $datafile \
--step 300 \
--start 1403899204 \
DS:temperature:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797 \
RRA:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 \
RRA:MAX:0.5:24:775 \
RRA:MAX:0.5:288:797
# promena $timestamp nabyva hodnot 1404041104, 1404041404, 1404041704, 1404042004, ... proste date "+%s"
# promena $temp nabyva hodnot 17, 18, 17, 19, atp...
rrdtool update $datafile $timestamp:$temp
rrdtool graph $outfile --start -86400 -t "Venkovní teplota" -w 600 \
DEF:input=$datafile:temperature:AVERAGE \
LINE1:input#FF0000:"temperature" >/dev/null
date "+%s" -d "06/29/2014 08:41:15"
. Log soubor ma vlastni rotaci cca dva mesice, takze ted neresim automatizaci, ale chci nasypat data do databaze a zobrazit. Proto vytvarim databazi v s timestampou nekde kolem 28.6.2014 14:00 a sypu tam dam data od daneho okamziku az po posledni zaznam. Ustredna loguje teplotu kazdych 5 minut, takze pak sedi i "step 300". Prozatim nechavam teplotu jako cele cislo, abych se vyhnul potizim s desetinnou teckou ci carkou a podobne. V soucasne dobe tam jsou nasypana data od sobotniho poledne nebo tak nejak, takze neco vic jak 24 hodin po peti minutach. No a vysledek je jako to, co je v priloze
rrdtool dump $datadir/temp.rrd
rrdtool update test.rrd 1402790400:16
ERROR: test.rrd: illegal attempt to update using time 1402790400 when last update time is 1403899204 (minimum one second step)
A jednoduchý dotaz na google vrátí správné řešeni pro stará data:
Export rrd to XML(use rrdtool dump), edit XML file. Then export XML to rdd(use rrdtool restore).
rrdtool="/usr/local/bin/rrdtool" $rrdtool update $datafile $timestamp:$tempjá jsem taky amatér ale nevidím, z jakého souboru bereš $timestamp a $temp dal bych si tam
echo $timestamp $temp---to by ti vypsalo do konzole hodnoty, jestli tam nějaké jsou http://cs.wikipedia.org/wiki/RRDTool
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.