From dac12100feea43e68bd8ba1a92a2949af5a9d6dd Mon Sep 17 00:00:00 2001 From: Christoph Date: Fri, 24 Jun 2022 02:32:12 +0200 Subject: [PATCH] restore-website-from-backup.sh: fix error in case web base directory is a symlink. --- bin/restore-website-from-backup.sh | 48 ++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/bin/restore-website-from-backup.sh b/bin/restore-website-from-backup.sh index 252c200..eea0245 100755 --- a/bin/restore-website-from-backup.sh +++ b/bin/restore-website-from-backup.sh @@ -495,7 +495,48 @@ if $terminal && ! $BATCH_MODE ; then fi done - WEBSITE_BASE_DIR="${BACKUP_DIR}/var/www" + if [[ -d "${BACKUP_DIR}/data/www" ]]; then + DEFAULT_WEBSITE_BASE_DIR="${BACKUP_DIR}/data/www" + elif [[ -d "${BACKUP_DIR}/var/www" ]] ;then + DEFAULT_WEBSITE_BASE_DIR="${BACKUP_DIR}/var/www" + else + DEFAULT_WEBSITE_BASE_DIR="" + fi + + WEBSITE_BASE_DIR="" + echo "" + echo -e "\033[32m--\033[m" + echo "" + echo -e "Give Website Base Directory of the machine \033[1m${SERVER}\033[m" + echo "" + echo "" + if [[ -n "${DEFAULT_WEBSITE_BASE_DIR}" ]]; then + while [[ "X${WEBSITE_BASE_DIR}" = "X" ]]; do + echononl " Website Base Directory[${DEFAULT_WEBSITE_BASE_DIR}]: " + read WEBSITE_BASE_DIR + if [ "X${WEBSITE_BASE_DIR}" = "X" ]; then + WEBSITE_BASE_DIR="${DEFAULT_WEBSITE_BASE_DIR}" + + fi + if [[ ! -d "${WEBSITE_BASE_DIR}" ]]; then + echo -e "\n\t Website Base Directory\033[33m\033[1m${RESTORE_DIR}\033[m does not exist!\n" + WEBSITE_BASE_DIR="" + fi + done + else + while [[ "X${WEBSITE_BASE_DIR}" = "X" ]]; do + echononl " Website Base Directory: " + read WEBSITE_BASE_DIR + if [ "X${WEBSITE_BASE_DIR}" = "X" ]; then + echo -e "\n\t\033[33m\033[1mWebsite Base Directory is required!\033[m\n" + continue + fi + if [[ ! -d "${WEBSITE_BASE_DIR}" ]]; then + echo -e "\n\tGiven Website Base Directory \033[33m\033[1m${WEBSITE_BASE_DIR}\033[m does not exist!\n" + WEBSITE_BASE_DIR="" + fi + done + fi # Get list (array) of Websites @@ -510,7 +551,7 @@ if $terminal && ! $BATCH_MODE ; then done < <(find "${WEBSITE_BASE_DIR}" -mindepth 1 -maxdepth 1 -type d -print0) if [[ ${#unsorted_website_arr} -eq 0 ]]; then - fatal "No backuped website dound at '${WEBSITE_BASE_DIR}'!" + fatal "No backuped website found at '${WEBSITE_BASE_DIR}'!" fi # - Sort array @@ -629,7 +670,8 @@ if $terminal ; then echo -e " Version of backuped nextcloud..............: $NC_RESTORE_VERSION" echo "" fi - echo -e " Backup Directory...........................: $BACKUP_DIR" + #echo -e " Backup Host Directory......................: $BACKUP_DIR" + echo -e " Restore Directory..........................: $RESTORE_DIR" echo -e " Backup date ...............................: $BACKUP_DATE" echo "" echo -e " Database type..............................: $DATABASE_TYPE"