summaryrefslogtreecommitdiffstats
path: root/src/etc/rc.backup_rrd.sh
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-25 08:08:24 -0300
committerRenato Botelho <renato@netgate.com>2015-08-25 14:49:54 -0300
commit46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch)
tree32d18dda436ec739c67c489ceb771e8629cd926f /src/etc/rc.backup_rrd.sh
parent4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff)
downloadpfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip
pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz
Move main pfSense content to src/
Diffstat (limited to 'src/etc/rc.backup_rrd.sh')
-rwxr-xr-xsrc/etc/rc.backup_rrd.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/etc/rc.backup_rrd.sh b/src/etc/rc.backup_rrd.sh
new file mode 100755
index 0000000..c14ffc7
--- /dev/null
+++ b/src/etc/rc.backup_rrd.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+: ${RRDDBPATH:=/var/db/rrd}
+: ${CF_CONF_PATH:=/cf/conf}
+
+# 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
+
+ tgzlist=""
+
+ for rrdfile in "${RRDDBPATH}"/*.rrd ; do
+ xmlfile="${rrdfile%.rrd}.xml"
+ tgzfile="${rrdfile%.rrd}.tgz"
+ /usr/bin/nice -n20 /usr/local/bin/rrdtool dump "$rrdfile" "$xmlfile"
+ cd / && /usr/bin/tar -czf "${tgzfile}" -C / "${RRDDBPATH#/}"/*.xml
+ /bin/rm -f "${RRDDBPATH}"/*.xml
+ tgzlist="${tgzlist} @${tgzfile}"
+ done
+ if [ -n "${tgzlist}" ]; then
+ cd / && /usr/bin/tar -czf "${CF_CONF_PATH}/rrd.tgz" ${tgzlist}
+ /bin/rm -f "${RRDDBPATH}"/*.tgz
+ fi
+ [ -z "$NO_REMOUNT" ] && /etc/rc.conf_mount_ro
+fi
+
OpenPOWER on IntegriCloud