summaryrefslogtreecommitdiffstats
path: root/etc/rc.backup_rrd.sh
diff options
context:
space:
mode:
authorDarren Embry <dse@webonastick.com>2012-04-12 19:10:42 -0400
committerDarren Embry <dse@webonastick.com>2012-04-12 19:11:18 -0400
commit8bdb687946ddb997beb07caccfef61b961f4507e (patch)
tree7a055925c49eedd3ebbcf67e272ddd9a40cc85f7 /etc/rc.backup_rrd.sh
parent0d0cb04730eba406da9e2a063da636dd6d4f9208 (diff)
downloadpfsense-8bdb687946ddb997beb07caccfef61b961f4507e.zip
pfsense-8bdb687946ddb997beb07caccfef61b961f4507e.tar.gz
Feature #2123 Backup RRD files using the xml dump and restore from RRD tools
http://redmine.pfsense.org/issues/2123
Diffstat (limited to 'etc/rc.backup_rrd.sh')
-rwxr-xr-xetc/rc.backup_rrd.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/etc/rc.backup_rrd.sh b/etc/rc.backup_rrd.sh
index b39578d..0ae89fe 100755
--- a/etc/rc.backup_rrd.sh
+++ b/etc/rc.backup_rrd.sh
@@ -1,8 +1,17 @@
#!/bin/sh
+: ${RRDDBPATH:=/var/db/rrd}
+: ${CF_CONF_PATH:=/cf/conf}
+
# Save the rrd databases to the config path.
-if [ -d "/var/db/rrd" ]; then
- /etc/rc.conf_mount_rw
- cd / && tar -czf /cf/conf/rrd.tgz -C / var/db/rrd/*.rrd
- /etc/rc.conf_mount_ro
+if [ -d "${RRDDBPATH}" ]; then
+ [ -z "$NO_REMOUNT" ] && /etc/rc.conf_mount_rw
+ for rrdfile in "${RRDDBPATH}"/*.rrd ; do
+ xmlfile="${rrdfile%.rrd}.xml"
+ /usr/bin/nice -n20 /usr/local/bin/rrdtool dump "$rrdfile" "$xmlfile"
+ done
+ cd / && tar -czf "${CF_CONF_PATH}"/rrd.tgz -C / "${RRDDBPATH#/}"/*.xml
+ rm "${RRDDBPATH}"/*.xml
+ [ -z "$NO_REMOUNT" ] && /etc/rc.conf_mount_ro
fi
+
OpenPOWER on IntegriCloud