summaryrefslogtreecommitdiffstats
path: root/etc/rc.backup_rrd.sh
diff options
context:
space:
mode:
authorErmal LUÇI <eri@pfsense.org>2014-11-28 17:05:09 +0100
committerErmal LUÇI <eri@pfsense.org>2014-11-28 17:05:09 +0100
commitc1819b48708ca8d712e1a3b9b8f7b2c4ed4e056b (patch)
treeb83bd54072bb61b721328b3bc68f66ae06706e73 /etc/rc.backup_rrd.sh
parentfea0b65224645506be0a6696b5b8a536bbf4e9a6 (diff)
downloadpfsense-c1819b48708ca8d712e1a3b9b8f7b2c4ed4e056b.zip
pfsense-c1819b48708ca8d712e1a3b9b8f7b2c4ed4e056b.tar.gz
Process the rrd files one by one to fix https://forum.pfsense.org/index.php?topic=84693.0. Restore will come after
Diffstat (limited to 'etc/rc.backup_rrd.sh')
-rwxr-xr-xetc/rc.backup_rrd.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/etc/rc.backup_rrd.sh b/etc/rc.backup_rrd.sh
index 0ae89fe..feffa27 100755
--- a/etc/rc.backup_rrd.sh
+++ b/etc/rc.backup_rrd.sh
@@ -6,12 +6,18 @@
# Save the rrd databases to the config path.
if [ -d "${RRDDBPATH}" ]; then
[ -z "$NO_REMOUNT" ] && /etc/rc.conf_mount_rw
+ [ -f "${CF_CONF_PATH}/rrd.tgz" ] && /bin/rm -f "${CF_CONF_PATH}"/rrd.tgz
+
for rrdfile in "${RRDDBPATH}"/*.rrd ; do
xmlfile="${rrdfile%.rrd}.xml"
/usr/bin/nice -n20 /usr/local/bin/rrdtool dump "$rrdfile" "$xmlfile"
+ cd / && /usr/bin/tar -rf "${CF_CONF_PATH}"/rrd.tar -C / "${RRDDBPATH#/}"/*.xml
+ /bin/rm -f "${RRDDBPATH}"/*.xml
done
- cd / && tar -czf "${CF_CONF_PATH}"/rrd.tgz -C / "${RRDDBPATH#/}"/*.xml
- rm "${RRDDBPATH}"/*.xml
+ if [ -f "${CF_CONF_PATH}/rrd.tar" ]; then
+ /usr/bin/gzip "${CF_CONF_PATH}/rrd.tar"
+ /bin/mv "${CF_CONF_PATH}/rrd.tar.gz" "${CF_CONF_PATH}/rrd.tgz"
+ fi
[ -z "$NO_REMOUNT" ] && /etc/rc.conf_mount_ro
fi
OpenPOWER on IntegriCloud