From 6d5aa67045059602b37a7b3d3104796fa6266ec7 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Fri, 28 Jan 2022 16:25:17 +0100 Subject: [PATCH] evolinux-base: backup-server-state: add "force" mode --- evolinux-base/files/backup-server-state.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/evolinux-base/files/backup-server-state.sh b/evolinux-base/files/backup-server-state.sh index 9febcbe6..d9b55d2b 100644 --- a/evolinux-base/files/backup-server-state.sh +++ b/evolinux-base/files/backup-server-state.sh @@ -31,6 +31,7 @@ Usage: ${PROGNAME} --backup-dir=/path/to/backup/directory [OPTIONS] Options -d, --backup-dir path to the directory where the backup will be stored + -f, --force keep existing backup directory and its content --etc backup copy of /etc --no-etc no backup copy of /etc (default) --dpkg backup copy of /var/lib/dpkg @@ -703,8 +704,10 @@ main() { fi if [ -d "${backup_dir}" ]; then - echo "ERROR: The backup directory ${backup_dir} already exists. Delete it first." >&2 - exit 2 + if [ "${FORCE}" != "1" ]; then + echo "ERROR: The backup directory ${backup_dir} already exists. Delete it first." >&2 + exit 2 + fi else create_backup_dir fi @@ -794,6 +797,10 @@ while :; do VERBOSE=1 ;; + -f|--force) + FORCE=1 + ;; + -d|--backup-dir) # with value separated by space if [ -n "$2" ]; then @@ -982,6 +989,7 @@ done # Default values : "${VERBOSE:=0}" +: "${FORCE:=0}" : "${DO_ETC:=0}" : "${DO_DPKG_FULL:=0}" : "${DO_DPKG_STATUS:=1}"