# Make some nice graphs
*/5 * * * * /usr/local/bin/makegraphs >/dev/null
-17 5 * * * /etc/init.d/tmpfs backup >/dev/null
+
+# Backup ramdisks if necessary
+%nightly,random * 23-4 /etc/init.d/collectd backup &>/dev/null
+%nightly,random * 23-4 /etc/init.d/vnstat backup &>/dev/null
# Update dynamic DNS records every five minutes.
*/5 * * * * [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all
rm -f /var/spool/cron
mv /var/log/rrd/cron /var/spool/cron
chown cron:cron /var/spool/cron
+
+ # Add new crontab entries
+ sed -i /var/spool/cron/root.orig -e "/tmpfs backup/d"
+ grep -q "collectd backup" /var/spool/cron/root.orig || cat <<EOF >> /var/spool/cron/root.orig
+# Backup ramdisks if necessary
+%nightly,random * 23-4 /etc/init.d/collectd backup &>/dev/null
+%nightly,random * 23-4 /etc/init.d/vnstat backup &>/dev/null
+EOF
+ fcrontab -z
fi
# Start services
statusproc /usr/sbin/collectd
;;
+ backup)
+ # Backup all data if ramdisk is used
+ if mountpoint "${RRDLOG}" &>/dev/null; then
+ ${0} restart
+ fi
+ ;;
+
*)
- echo "Usage: $0 {start|stop|restart|status}"
+ echo "Usage: $0 {start|stop|restart|status|backup}"
exit 1
;;
esac
stop)
umount_ramdisk "${VNSTATLOG}"
;;
+
+ backup)
+ # Backup all data if ramdisk is used
+ if mountpoint "${RRDLOG}" &>/dev/null; then
+ ${0} restart
+ fi
+ ;;
+
*)
- echo "Usage: $0 {start|stop}"
+ echo "Usage: $0 {start|stop|backup}"
exit 1
;;
esac