From f22639dcc267c690adcddfed9b8032e3fcf34386 Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Sat, 2 Feb 2019 02:13:31 +0200 Subject: [PATCH] Add S02restorebackups --- .../overlay/etc/init.d/S02restorebackups | 47 +++++++++++++++++++ .../etc/init.d/{S02modules => S03modules} | 0 .../etc/init.d/{S03hostname => S04hostname} | 0 .../etc/init.d/{S04syslog => S05syslog} | 0 4 files changed, 47 insertions(+) create mode 100755 board/common/overlay/etc/init.d/S02restorebackups rename board/common/overlay/etc/init.d/{S02modules => S03modules} (100%) rename board/common/overlay/etc/init.d/{S03hostname => S04hostname} (100%) rename board/common/overlay/etc/init.d/{S04syslog => S05syslog} (100%) diff --git a/board/common/overlay/etc/init.d/S02restorebackups b/board/common/overlay/etc/init.d/S02restorebackups new file mode 100755 index 0000000000..fd5e733a4b --- /dev/null +++ b/board/common/overlay/etc/init.d/S02restorebackups @@ -0,0 +1,47 @@ +#!/bin/bash + +BACKUPS_DIR="/boot" +BACKUP_PATTERN="backup-*.tar.gz" +DATA_DIR="/data" + + +test -n "${OS_VERSION}" || source /etc/init.d/base + + +case "$1" in + start) + if ! ls ${BACKUPS_DIR}/${BACKUP_PATTERN} &>/dev/null; then + exit; # no backups + fi + + mount -o remount,rw /boot + + for file in ${BACKUPS_DIR}/${BACKUP_PATTERN}; do + msg_begin "Restoring backup from $(basename ${file})" + tar -mxf ${file} -C ${DATA_DIR} + if [[ $? == 0 ]]; then + rm ${file} + msg_done + else + msg_fail + fi + done + + # source os_conf again, as it might have changed after restore + test -f /etc/init.d/os_conf && source /etc/init.d/os_conf + if [[ "${OS_DEBUG}" != "true" ]]; then + mount -o remount,ro /boot + fi + ;; + + stop) + true + ;; + + *) + echo "Usage: $0 {start}" + exit 1 +esac + +exit $? + diff --git a/board/common/overlay/etc/init.d/S02modules b/board/common/overlay/etc/init.d/S03modules similarity index 100% rename from board/common/overlay/etc/init.d/S02modules rename to board/common/overlay/etc/init.d/S03modules diff --git a/board/common/overlay/etc/init.d/S03hostname b/board/common/overlay/etc/init.d/S04hostname similarity index 100% rename from board/common/overlay/etc/init.d/S03hostname rename to board/common/overlay/etc/init.d/S04hostname diff --git a/board/common/overlay/etc/init.d/S04syslog b/board/common/overlay/etc/init.d/S05syslog similarity index 100% rename from board/common/overlay/etc/init.d/S04syslog rename to board/common/overlay/etc/init.d/S05syslog