]> git.ipfire.org Git - people/stevee/ipfire-2.x.git/commitdiff
backup.pl: Backup and restore rrd graphs. next-backup-rrd
authorStefan Schantl <stefan.schantl@ipfire.org>
Fri, 7 Feb 2020 12:43:56 +0000 (13:43 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Fri, 7 Feb 2020 12:43:56 +0000 (13:43 +0100)
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
config/backup/backup.pl

index 9a92a9d9f72645371c46e49eecdb4823eddeaafa..926993e7ad15c3d6447e2ac79221e71e22faba49 100644 (file)
@@ -57,6 +57,12 @@ make_backup() {
                make_addon_backup "${addon}"
        done
 
+       # Dump rrd data into xml
+       for rrd in /var/log/rrd/*.rrd; do
+               xml=`echo $rrd | sed 's/\.rrd//g'`
+               rrdtool dump $rrd > $xml.xml
+       done
+
        tar cvzf "${filename}" \
                --exclude-from="/var/ipfire/backup/exclude" \
                --exclude-from="/var/ipfire/backup/exclude.user" \
@@ -149,6 +155,19 @@ restore_backup() {
        # move nobeeps if exist
        [ -e "/var/ipfire/ppp/nobeeps" ] && mv /var/ipfire/ppp/nobeeps /var/ipfire/red/nobeeps
 
+       # Restore RRD graphs
+       /etc/init.d/collectd stop
+       /etc/init.d/vnstat stop
+
+       for xml in /var/log/rrd/*.xml; do
+               rrd=`echo $xml | sed 's/\.xml//g'`
+               rrdtool restore $xml $rrd.rrd
+               rm -rf $xml
+       done
+
+       /etc/init.d/collectd start
+       /etc/init.d/vnstat start
+
        return 0
 }