/[cricket]/rrdedit
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /rrdedit

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Wed Nov 19 18:20:22 2003 UTC (15 years, 6 months ago) by dpavlin
Branch: MAIN
CVS Tags: HEAD
interactivly edit rrd files. Just add one or more files as arguement
to this command, and it will bring up first file in your $EDITOR (or vi).
Edit file, and save it. It will then make a diff and try to apply diff to
all other files. If sucessfull, it will perform same operation on real files
(leaving originals with extension .bak)

1 dpavlin 1.1 #!/bin/sh
2    
3     # small interactive script which enables you to edit one rrd file in our
4     # favourite EDITOR (vi, right?) and then apply that changes (using diff
5     # and patch) to multiple files
6     #
7     # Dobrica Pavlinusic <dpavlin@rot13.org> 2003-11-19
8    
9     if [ -z "$1" ] ; then
10     echo "Usage: $0 [rrd file] ..."
11     exit 1
12     fi
13    
14     if [ ! -z "$EDITOR" ] ; then
15     editor=$EDITOR
16     else
17     editor=vi
18     fi
19    
20     b=`basename $0`
21    
22     xmlfile=/tmp/$b.xml
23     rrddiff=/tmp/$b.diff
24     rrdtmp=/tmp/$b-tmp.rrd
25    
26     rrdtool dump $1 > $xmlfile
27     cp -p $xmlfile /tmp/$1
28    
29     $editor /tmp/$1
30    
31     diff -uw $xmlfile /tmp/$1 > $rrddiff
32    
33     echo "diff between original file and edited one:"
34     cat $rrddiff
35    
36     faildiff=""
37     failrrd=""
38     echo "trying to apply to all sources"
39     for rrdfile in $@ ; do
40     echo " $rrdfile"
41     rrdtool dump $rrdfile > $xmlfile
42     patch -s -p0 $xmlfile $rrddiff || faildiff="$faildiff $rrdfile"
43     err=`rrdtool restore $xmlfile $rrdtmp 2>&1`
44     rm -f $rrdtmp
45     if [ ! -z "$err" ] ; then
46     failrrd="$failrrd $rrdfile"
47     fi
48     done
49    
50     if [ ! -z "$faildiff" ] ; then
51     echo "can't apply diff on files:$faildiff, aborting!"
52     exit 1
53     fi
54    
55     if [ ! -z "$failrrd" ] ; then
56     echo "can't restore xml to rrd for files:$failrrd [$err], aborting!"
57     exit 1
58     fi
59    
60     echo "all files can be converted, doing it for real..."
61    
62     for rrdfile in $@ ; do
63     echo " $rrdfile"
64     rrdtool dump $rrdfile > $xmlfile
65     patch -s -p0 $xmlfile $rrddiff && \
66     mv $rrdfile ${rrdfile}.bak && \
67     rrdtool restore $xmlfile $rrdfile
68     done

  ViewVC Help
Powered by ViewVC 1.1.26