From 533ccbde0c867e53ac2c6a775193d408e0f24d07 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 27 Dec 2017 13:23:05 +0000 Subject: [PATCH] rc: backup DUID for /var MFS et al Make sure to delete the backup prior to backing up to mimick the current system state. Same goes for restore, no backup means remove the DUID to sync the system state to what it was. --- plist | 1 + src/etc/rc.backup_duid | 16 ++++++++++++++++ src/etc/rc.syshook.d/20-backup.early | 2 +- src/etc/rc.syshook.d/90-backup.stop | 4 ++-- 4 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 src/etc/rc.backup_duid diff --git a/plist b/plist index 86caeec4f..56a0c6c47 100644 --- a/plist +++ b/plist @@ -74,6 +74,7 @@ /usr/local/etc/rc /usr/local/etc/rc.backup_captiveportal /usr/local/etc/rc.backup_dhcpleases +/usr/local/etc/rc.backup_duid /usr/local/etc/rc.backup_netflow /usr/local/etc/rc.backup_rrd /usr/local/etc/rc.bootup diff --git a/src/etc/rc.backup_duid b/src/etc/rc.backup_duid new file mode 100755 index 000000000..f652f70e2 --- /dev/null +++ b/src/etc/rc.backup_duid @@ -0,0 +1,16 @@ +#!/bin/sh + +BACKUPFILE="/conf/dhcp6c_duid" +BACKUPTARGET="/var/db/dhcp6c_duid" + +if [ "${1}" = "restore" ]; then + rm -f "${BACKUPTARGET}" + if [ -f "${BACKUPFILE}" ]; then + cp "${BACKUPFILE}" "${BACKUPTARGET}" + fi +else + rm -f "${BACKUPFILE}" + if [ -f "${BACKUPTARGET}" ]; then + cp "${BACKUPTARGET}" "${BACKUPFILE}" + fi +fi diff --git a/src/etc/rc.syshook.d/20-backup.early b/src/etc/rc.syshook.d/20-backup.early index d870d84f4..fb40bcd30 100755 --- a/src/etc/rc.syshook.d/20-backup.early +++ b/src/etc/rc.syshook.d/20-backup.early @@ -1,6 +1,6 @@ #!/bin/sh # Restore backups from previous shutdown -for BACKUP in captiveportal dhcpleases netflow rrd; do +for BACKUP in captiveportal dhcpleases duid netflow rrd; do /usr/local/etc/rc.backup_${BACKUP} restore done diff --git a/src/etc/rc.syshook.d/90-backup.stop b/src/etc/rc.syshook.d/90-backup.stop index ac805cd0d..92d8e9843 100755 --- a/src/etc/rc.syshook.d/90-backup.stop +++ b/src/etc/rc.syshook.d/90-backup.stop @@ -1,6 +1,6 @@ #!/bin/sh # Backup volatile internals -for BACKUP in captiveportal dhcpleases netflow rrd; do - /usr/local/etc/rc.backup_${BACKUP} stop +for BACKUP in captiveportal dhcpleases duid netflow rrd; do + /usr/local/etc/rc.backup_${BACKUP} done