#!/bin/sh #$Id$ #Copyright (c) 2016 Pierre Pronchery #This file is part of DeforaOS Network Probe #This program is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, version 3 of the License. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program. If not, see . #variables NEWPATH="new" OLDPATH1="old1" OLDPATH2="old2" OUTPATH="out" #executables CP="cp -f" GREP="grep" RRDTOOL="rrdtool" RRDTOOL_ARGS="--daemon unix:/var/run/rrdcached/rrdcached.sock" #functions #backup backup() { $RRDTOOL fetch "$1" AVERAGE -s -604800 $RRDTOOL_ARGS } #restore1 restore1() { while read timestamp val1 junk; do $RRDTOOL update "$1" "$timestamp$val1" $RRDTOOL_ARGS done } #restore3 restore3() { while read timestamp val1 val2 val3 junk; do $RRDTOOL update "$1" "$timestamp$val1:$val2:$val3" $RRDTOOL_ARGS done } #main rrd="load.rrd" $CP -- "$NEWPATH/$rrd" "$OUTPATH/$rrd" || exit 2 backup "$OLDPATH1/$rrd" | $GREP -v ': nan nan nan$' | restore3 "$OUTPATH/$rrd" backup "$OLDPATH2/$rrd" | $GREP -v ': nan nan nan$' | restore3 "$OUTPATH/$rrd" rrd="procs.rrd" $CP -- "$NEWPATH/$rrd" "$OUTPATH/$rrd" || exit 2 backup "$OLDPATH1/$rrd" | $GREP -v ': nan$' | restore1 "$OUTPATH/$rrd" backup "$OLDPATH2/$rrd" | $GREP -v ': nan$' | restore1 "$OUTPATH/$rrd" rrd="users.rrd" $CP -- "$NEWPATH/$rrd" "$OUTPATH/$rrd" || exit 2 backup "$OLDPATH1/$rrd" | $GREP -v ': nan$' | restore1 "$OUTPATH/$rrd" backup "$OLDPATH2/$rrd" | $GREP -v ': nan$' | restore1 "$OUTPATH/$rrd"