[fli4l] Fehler in RRDtool/OW wenn HOSTNAME "-" enthält

Peter Schiefer newsgroup at lan4me.de
Do Mai 5 18:29:57 CEST 2016


Hi Roland,

Am Thu, 5 May 2016 14:15:46 +0200 schrieb Roland Franke:

>> for int in `ls -d ${rrd_dbpath}/onewire-* | cut -d "-" -f2`
> 
>> Der cut liefert alles was hinter dem ersten - steht zurück!
> 
> Stimmt. Ich weiß zwar nicht wie da der Hostname mit eine Rolle
> spielt, jedoch danke für das Finden/Identifizieren des Problems.

ganz einfach - die Variable rrd_dbpath setzt sich wie folgt zusammen:

map2persistent RRDTOOL_DB_PATH
mkdir -p $RRDTOOL_DB_PATH/$HOSTNAME/
    
# replace dbpath marker with real $RRDTOOL_DB_PATH
for f in /srv/www/include/rrd-*.inc
do
        sed -i $f -e "s#{dbpath}#$RRDTOOL_DB_PATH/$HOSTNAME#"
done
sed -i /etc/rrd/settings.inc -e "s#{dbpath}#$RRDTOOL_DB_PATH/$HOSTNAME#"

somit ist im Pfad zu den DBs immer der Hostname enthalten, der Fehler tritt
übrigens auch auf wenn jemand in RRDTOOL_DB_PATH auch einen - nutzt.

> Es sollte auch anderst gehen.
> mit einem:
> for int in `ls -d ${rrd_dbpath}/onewire-* | grep -o '............$'`
> würden egal was und wie viele Zeichen (Pfadlänge) am Anfang stehen
> immer nur die letzten 12 Zeichen ausgegeben werden.
> Zumindest an der Bash am Router würde das erst mal so klappen.

funktioniert aber nur, solange die ID der ow-sensoren fest 12 Zeichen lang
ist.

Gruß Peter


Mehr Informationen über die Mailingliste Fli4L