]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - config/qos/migrate.pl
3 my $rrddir = "/var/log/rrd";
4 my @files = `cd $rrddir && ls class_* `;
6 if ( -e
"$rrddir/migrated" ){print "Already migrated rrd files -> exit.\n";exit 1;}
8 system("/etc/init.d/collectd stop");
9 system("/usr/local/bin/qosctrl stop");
13 my @lines = `rrdtool dump $rrddir/$_`;
16 my @newlines = "<!-- Round Robin Database Dump --><rrd> <version> 0003 </version>
17 <step> 10 </step> <!-- Seconds -->
18 <lastupdate> </lastupdate>
22 <type> COUNTER </type>
23 <minimal_heartbeat> 20 </minimal_heartbeat>
24 <min> 0.0000000000e+00 </min>
30 <unknown_sec> 0 </unknown_sec>
33 <!-- Round Robin Archives --> <rra>
35 <pdp_per_row> 1 </pdp_per_row> <!-- 10 seconds -->
38 <xff> 5.0000000000e-01 </xff>
42 <primary_value> </primary_value>
43 <secondary_value> NaN </secondary_value>
45 <unknown_datapoints> 0 </unknown_datapoints>
51 if ( $_ =~ /\<database\>/ ){
54 if ( $_ =~ /\<\/database\
>/ ){
57 if ( $fromhere eq "0" ){
60 my @t = split(/<v>/,$_);
61 push(@newlines,$t[0]."<v>".$t[1]."</row>\n");
64 push(@newlines," </database>
67 open(DATEI
, ">/tmp/rrd.xml") || die "Unable to create temp file";
68 print DATEI
@newlines;
71 system("rm -f $rrddir/$_");
72 system("rrdtool restore -f /tmp/rrd.xml $rrddir/$_");
73 print "$_ ... resized\n";
76 system("/etc/init.d/collectd start");
77 system("/usr/local/bin/qosctrl start");
78 system("touch $rrddir/migrated");