From 044645a1ca2ab25b3555b377779b5756760c8442 Mon Sep 17 00:00:00 2001 From: knee-cola Date: Sun, 24 Aug 2025 08:54:45 +0000 Subject: [PATCH] restore: replace dual flags with single --do-pre-backup=true/false parameter --- restore.sh | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/restore.sh b/restore.sh index eef355c..095e711 100755 --- a/restore.sh +++ b/restore.sh @@ -5,17 +5,12 @@ set -euo pipefail MONGO_SERVICE="utility-bills-tracker_mongo" # Parse command line options -SKIP_PRE_BACKUP=false -NO_PRE_BACKUP=false +DO_PRE_BACKUP="" while [[ $# -gt 0 ]]; do case $1 in - --skip-pre-backup) - SKIP_PRE_BACKUP=true - shift - ;; - --no-pre-backup) - NO_PRE_BACKUP=true + --do-pre-backup=*) + DO_PRE_BACKUP="${1#*=}" shift ;; *) @@ -27,16 +22,15 @@ done # Usage: ./restore.sh [options] # Example: ./restore.sh 2025-08-24-14-30 -# Options: --skip-pre-backup (skip interactive prompt, create backup) -# --no-pre-backup (skip interactive prompt, no backup) +# Options: --do-pre-backup=true/false (skip interactive prompt) if [ -z "${TIMESTAMP:-}" ]; then echo "Usage: $0 [options] " echo "Example: $0 2025-08-24-14-30" echo "" echo "Options:" - echo " --skip-pre-backup Skip interactive prompt, create pre-restore backup" - echo " --no-pre-backup Skip interactive prompt, no pre-restore backup" + echo " --do-pre-backup=true Skip interactive prompt, create pre-restore backup" + echo " --do-pre-backup=false Skip interactive prompt, no pre-restore backup" echo "" echo "Available backups:" ls -1t backups/mongo-volume-backup-*.tar.gz 2>/dev/null | sed 's/.*mongo-volume-backup-\(.*\)\.tar\.gz/ \1/' || echo " No backups found" @@ -69,15 +63,20 @@ docker service scale "$MONGO_SERVICE"=0 # Handle pre-restore backup CREATE_PRE_BACKUP=true -if [ "$NO_PRE_BACKUP" = true ]; then +if [ "$DO_PRE_BACKUP" = "false" ]; then CREATE_PRE_BACKUP=false -elif [ "$SKIP_PRE_BACKUP" = false ]; then +elif [ "$DO_PRE_BACKUP" = "true" ]; then + CREATE_PRE_BACKUP=true +elif [ -z "$DO_PRE_BACKUP" ]; then # Ask user interactively read -p "Create pre-restore safety backup? (Y/n): " -n 1 -r echo if [[ $REPLY =~ ^[Nn]$ ]]; then CREATE_PRE_BACKUP=false fi +else + echo "Error: --do-pre-backup must be 'true' or 'false'" + exit 1 fi # Create pre-restore backup if requested