From f2d5af32dc2cdb01947ea256da34ff2b520fbbb8 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 6 Nov 2016 16:42:24 +0000 Subject: [PATCH] Safer restore --- src/freedombone-app-htmly | 17 ++++++++++++++--- src/freedombone-app-mailpile | 3 +++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/freedombone-app-htmly b/src/freedombone-app-htmly index 60f5707c..9f078e99 100755 --- a/src/freedombone-app-htmly +++ b/src/freedombone-app-htmly @@ -220,7 +220,6 @@ function restore_local_htmly { HTMLY_DOMAIN_NAME=$(get_completion_param "htmly domain") fi if [ $HTMLY_DOMAIN_NAME ]; then - echo $"Restoring htmly installation" temp_restore_dir=/root/temphtmly if [ -d $USB_MOUNT/backup/htmly ]; then restore_directory_from_usb $temp_restore_dir htmly @@ -228,11 +227,17 @@ function restore_local_htmly { restore_directory_from_usb $temp_restore_dir blog fi if [ -d /var/www/${HTMLY_DOMAIN_NAME}/htdocs ]; then - rm -rf /var/www/${HTMLY_DOMAIN_NAME}/htdocs + if [ -d /var/www/${HTMLY_DOMAIN_NAME}/previous ]; then + rm -rf /var/www/${HTMLY_DOMAIN_NAME}/previous + fi + mv /var/www/${HTMLY_DOMAIN_NAME}/htdocs /var/www/${HTMLY_DOMAIN_NAME}/previous fi temp_source_dir=$(find ${temp_restore_dir} -name htdocs) cp -r ${temp_source_dir} /var/www/${HTMLY_DOMAIN_NAME}/ if [ ! "$?" = "0" ]; then + if [ -d /var/www/${HTMLY_DOMAIN_NAME}/previous ]; then + mv /var/www/${HTMLY_DOMAIN_NAME}/previous /var/www/${HTMLY_DOMAIN_NAME}/htdocs + fi set_user_permissions backup_unmount_drive exit 593 @@ -288,11 +293,17 @@ function restore_remote_htmly { function_check restore_directory_from_friend restore_directory_from_friend $temp_restore_dir htmly if [ -d /var/www/${HTMLY_DOMAIN_NAME}/htdocs ]; then - rm -rf /var/www/${HTMLY_DOMAIN_NAME}/htdocs + if [ -d /var/www/${HTMLY_DOMAIN_NAME}/previous ]; then + rm -rf /var/www/${HTMLY_DOMAIN_NAME}/previous + fi + mv /var/www/${HTMLY_DOMAIN_NAME}/htdocs /var/www/${HTMLY_DOMAIN_NAME}/previous fi temp_source_dir=$(find ${temp_restore_dir} -name htdocs) cp -r ${temp_source_dir} /var/www/${HTMLY_DOMAIN_NAME}/ if [ ! "$?" = "0" ]; then + if [ -d /var/www/${HTMLY_DOMAIN_NAME}/previous ]; then + mv /var/www/${HTMLY_DOMAIN_NAME}/previous /var/www/${HTMLY_DOMAIN_NAME}/htdocs + fi exit 593 fi rm -rf ${temp_restore_dir} diff --git a/src/freedombone-app-mailpile b/src/freedombone-app-mailpile index f860aff4..33fe6b63 100755 --- a/src/freedombone-app-mailpile +++ b/src/freedombone-app-mailpile @@ -125,6 +125,9 @@ function restore_local_mailpile { cp -r ${temp_source_dir} /var/www/${MAILPILE_DOMAIN_NAME}/mail/ if [ ! "$?" = "0" ]; then if [ -d mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous ]; then + if [ -d /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous ]; then + rm -rf /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous + fi mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local fi backup_unmount_drive