2
0
Эх сурвалжийг харах

#2794 Make parts to restore depend on backup folder contents

Timo Reymann 6 жил өмнө
parent
commit
45aa7b45fc

+ 3 - 2
helper-scripts/backup_and_restore.sh

@@ -213,7 +213,8 @@ elif [[ ${1} == "restore" ]]; then
   fi
 
   echo "[ 0 ] all"
-  FILE_SELECTION[0]="vmail crypt rspamd postfix mysql redis"
+  # find all files in folder with .tar.gz extension, print their base names, remove backup_, remove .tar, remove .gz
+  FILE_SELECTION[0]=$(find "${FOLDER_SELECTION[${input_sel}]}" -type f -name "*.tar.gz" -printf "%f\n" | sed 's/backup_*//' | sed 's/\.[^.]*$//' | sed 's/\.[^.]*$//')
   for file in $(ls -f "${FOLDER_SELECTION[${input_sel}]}"); do
     if [[ ${file} =~ vmail ]]; then
       echo "[ ${i} ] - Mail directory (/var/vmail)"
@@ -242,7 +243,7 @@ elif [[ ${1} == "restore" ]]; then
     fi
   done
   echo
-  input_sel=0
+  input_sel=-1
   while [[ ${input_sel} -lt 0 ||  ${input_sel} -gt ${i} ]]; do
     read -p "Select a dataset to restore: " input_sel
   done