diff --git a/src/etc/rc.syshook.d/backup/20-rrd b/src/etc/rc.syshook.d/backup/20-rrd index eb002f7cb..e358468eb 100755 --- a/src/etc/rc.syshook.d/backup/20-rrd +++ b/src/etc/rc.syshook.d/backup/20-rrd @@ -6,9 +6,17 @@ BACKUPFILE="/conf/rrd.tgz" if [ "${1}" = "restore" ]; then if [ -f "${BACKUPFILE}" ]; then tar -C / -xzpf "${BACKUPFILE}" + for XML in "$(find "${BACKUPDIR}" -name "*.xml"); do + /usr/local/bin/rrdtool restore -f "${XML}" "${XML%.xml}.rrd" + done fi else if [ -d "${BACKUPDIR}" ]; then + for RRD in "$(find "${BACKUPDIR}" -name "*.rrd"); do + /usr/local/bin/rrdtool dump "${RRD}" > "${RRD%.rrd}.xml" + done tar -C / -czf "${BACKUPFILE}" ."${BACKUPDIR}" fi fi + +rm -f ${BACKUPDIR}/*.xml