Browse Source

Refactoring restore from usb

Bob Mottram 9 years ago
parent
commit
0a6928a4f6
1 changed files with 41 additions and 81 deletions
  1. 41
    81
      src/freedombone

+ 41
- 81
src/freedombone View File

2904
   echo 'create_backup_script' >> $COMPLETION_FILE
2904
   echo 'create_backup_script' >> $COMPLETION_FILE
2905
 }
2905
 }
2906
 
2906
 
2907
+function restore_directory_from_usb {
2908
+  echo '  if [ ! -d ${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2909
+  echo '    mkdir ${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2910
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2911
+
2912
+  if [[ $BACKUP_TYPE == 'rsync' ]]; then
2913
+      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/${2} ${1} $USB_MOUNT/backup/${2}.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2914
+  fi
2915
+}
2916
+
2907
 function create_restore_script {
2917
 function create_restore_script {
2908
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
2918
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
2909
       return
2919
       return
3013
   if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
3023
   if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
3014
       echo "if [ -d $USB_MOUNT/backup/mariadb ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3024
       echo "if [ -d $USB_MOUNT/backup/mariadb ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3015
       echo '  echo "Restoring mysql settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3025
       echo '  echo "Restoring mysql settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3016
-      echo '  if [ ! -d /root/tempmariadb ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3017
-      echo '    mkdir /root/tempmariadb' >> /usr/bin/$RESTORE_SCRIPT_NAME
3018
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3019
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/mariadb /root/tempmariadb $USB_MOUNT/backup/mariadb.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3026
+      restore_directory_from_usb /root/tempmariadb mariadb
3020
       echo '  echo "Get the MariaDB password from the backup"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3027
       echo '  echo "Get the MariaDB password from the backup"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3021
       echo '  if [ ! -f /root/tempmariadb/usb/backup/mariadb/tempmariadb/db ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3028
       echo '  if [ ! -f /root/tempmariadb/usb/backup/mariadb/tempmariadb/db ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3022
       echo '    echo "MariaDB password file not found"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3029
       echo '    echo "MariaDB password file not found"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3054
 
3061
 
3055
   echo "if [ -d $USB_MOUNT/backup/mutt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3062
   echo "if [ -d $USB_MOUNT/backup/mutt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3056
   echo '  echo "Restoring Mutt settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3063
   echo '  echo "Restoring Mutt settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3057
-  echo '  mkdir /root/tempmutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3058
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/mutt /root/tempmutt $USB_MOUNT/backup/mutt.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3064
+  restore_directory_from_usb /root/tempmutt mutt
3059
   echo '  if [ -f /root/tempmutt/usb/backup/mutt/$MY_USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3065
   echo '  if [ -f /root/tempmutt/usb/backup/mutt/$MY_USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3060
   echo '    cp -f /root/tempmutt/usb/backup/mutt/$MY_USERNAME/tempbackup/.muttrc /home/$MY_USERNAME/.muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3066
   echo '    cp -f /root/tempmutt/usb/backup/mutt/$MY_USERNAME/tempbackup/.muttrc /home/$MY_USERNAME/.muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3061
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3067
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3074
 
3080
 
3075
   echo "if [ -d $USB_MOUNT/backup/gnupg ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3081
   echo "if [ -d $USB_MOUNT/backup/gnupg ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3076
   echo '  echo "Restoring gnupg settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3082
   echo '  echo "Restoring gnupg settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3077
-  echo '  mkdir /root/tempgnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3078
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gnupg /root/tempgnupg $USB_MOUNT/backup/gnupg.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3083
+  restore_directory_from_usb /root/tempgnupg gnupg
3079
   echo '  cp -r /root/tempgnupg/usb/backup/gnupg/$MY_USERNAME/.gnupg /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3084
   echo '  cp -r /root/tempgnupg/usb/backup/gnupg/$MY_USERNAME/.gnupg /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3080
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3085
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3081
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3086
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3095
 
3100
 
3096
   echo "if [ -d $USB_MOUNT/backup/procmail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3101
   echo "if [ -d $USB_MOUNT/backup/procmail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3097
   echo '  echo "Restoring procmail settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3102
   echo '  echo "Restoring procmail settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3098
-  echo '  mkdir /root/tempprocmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3099
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/procmail /root/tempprocmail $USB_MOUNT/backup/procmail.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3103
+  restore_directory_from_usb /root/tempprocmail procmail
3100
   echo '  cp -f /root/tempprocmail/usb/backup/procmail/$MY_USERNAME/tempbackup/.procmailrc /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3104
   echo '  cp -f /root/tempprocmail/usb/backup/procmail/$MY_USERNAME/tempbackup/.procmailrc /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3101
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3105
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3102
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3106
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3110
 
3114
 
3111
   echo "if [ -d $USB_MOUNT/backup/spamassassin ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3115
   echo "if [ -d $USB_MOUNT/backup/spamassassin ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3112
   echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3116
   echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3113
-  echo '  mkdir /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3114
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/spamassassin /root/tempspamassassin $USB_MOUNT/backup/spamassassin.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3117
+  restore_directory_from_usb /root/tempspamassassin spamassassin
3115
   echo '  cp -rf /root/tempspamassassin/usb/backup/spamassassin/$MY_USERNAME/.spamassassin /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3118
   echo '  cp -rf /root/tempspamassassin/usb/backup/spamassassin/$MY_USERNAME/.spamassassin /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3116
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3119
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3117
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3120
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3125
 
3128
 
3126
   echo "if [ -d $USB_MOUNT/backup/readme ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3129
   echo "if [ -d $USB_MOUNT/backup/readme ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3127
   echo '  echo "Restoring README"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3130
   echo '  echo "Restoring README"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3128
-  echo '  mkdir /root/tempreadme' >> /usr/bin/$RESTORE_SCRIPT_NAME
3129
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/readme /root/tempreadme $USB_MOUNT/backup/readme.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3131
+  restore_directory_from_usb /root/tempreadme readme
3130
   echo '  cp -f /root/tempreadme/usb/backup/readme/$MY_USERNAME/tempbackup/README /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3132
   echo '  cp -f /root/tempreadme/usb/backup/readme/$MY_USERNAME/tempbackup/README /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3131
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3133
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3132
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3134
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3140
 
3142
 
3141
   echo "if [ -d $USB_MOUNT/backup/ssh ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3143
   echo "if [ -d $USB_MOUNT/backup/ssh ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3142
   echo '  echo "Restoring ssh keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3144
   echo '  echo "Restoring ssh keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3143
-  echo '  mkdir /root/tempssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3144
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/ssh /root/tempssh $USB_MOUNT/backup/ssh.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3145
+  restore_directory_from_usb /root/tempssh ssh
3145
   echo '  cp -r /root/tempssh/usb/backup/ssh/$MY_USERNAME/.ssh /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3146
   echo '  cp -r /root/tempssh/usb/backup/ssh/$MY_USERNAME/.ssh /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3146
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3147
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3147
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3148
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3156
   echo "if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3157
   echo "if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3157
   echo '  echo "Restoring certificates"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3158
   echo '  echo "Restoring certificates"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3158
   echo '  mkdir /root/tempssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3159
   echo '  mkdir /root/tempssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3159
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/ssl /root/tempssl $USB_MOUNT/backup/ssl.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3160
+  restore_directory_from_usb /root/tempssl ssl
3160
   echo '  cp -r /root/tempssl/usb/backup/ssl/ssl/* /etc/ssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3161
   echo '  cp -r /root/tempssl/usb/backup/ssl/ssl/* /etc/ssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3161
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3162
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3162
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3163
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3169
 
3170
 
3170
   echo "if [ -d $USB_MOUNT/backup/projects ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3171
   echo "if [ -d $USB_MOUNT/backup/projects ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3171
   echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3172
   echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3172
-  echo '  mkdir /root/tempprojects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3173
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/projects /root/tempprojects $USB_MOUNT/backup/projects.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3173
+  restore_directory_from_usb /root/tempprojects projects
3174
   echo '  if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3174
   echo '  if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3175
   echo '    rm -rf /home/$MY_USERNAME/projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3175
   echo '    rm -rf /home/$MY_USERNAME/projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3176
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3176
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3186
 
3186
 
3187
   echo "if [ -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3187
   echo "if [ -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3188
   echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3188
   echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3189
-  echo '  mkdir /root/temppersonal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3190
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/personal /root/temppersonal $USB_MOUNT/backup/personal.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3189
+  restore_directory_from_usb /root/temppersonal personal
3191
   echo '  if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3190
   echo '  if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3192
   echo '    rm -rf /home/$MY_USERNAME/personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3191
   echo '    rm -rf /home/$MY_USERNAME/personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3193
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3192
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3203
 
3202
 
3204
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3203
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3205
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3204
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3206
-  echo '  mkdir /root/tempmailinglist' >> /usr/bin/$RESTORE_SCRIPT_NAME
3207
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/mailinglist /root/tempmailinglist $USB_MOUNT/backup/mailinglist.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3205
+  restore_directory_from_usb /root/tempmailinglist mailinglist
3208
   echo "  cp -r /root/tempmailinglist/usb/backup/mailinglist/spool/mlmmj/* $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3206
   echo "  cp -r /root/tempmailinglist/usb/backup/mailinglist/spool/mlmmj/* $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3209
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3207
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3210
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3208
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3217
 
3215
 
3218
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3216
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3219
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3217
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3220
-  echo '  mkdir /root/tempxmpp' >> /usr/bin/$RESTORE_SCRIPT_NAME
3221
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/xmpp /root/tempxmpp $USB_MOUNT/backup/xmpp.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3218
+  restore_directory_from_usb /root/tempxmpp xmpp
3222
   echo "  cp -r /root/tempxmpp/usb/backup/xmpp/lib/prosody/* $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3219
   echo "  cp -r /root/tempxmpp/usb/backup/xmpp/lib/prosody/* $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3223
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3220
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3224
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3221
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3237
       BACKUP_INCLUDES_WEBSITES="yes"
3234
       BACKUP_INCLUDES_WEBSITES="yes"
3238
       echo "if [ -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3235
       echo "if [ -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3239
       echo '  echo "Restoring microblog database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3236
       echo '  echo "Restoring microblog database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3240
-      echo '  if [ ! -d /root/tempgnusocialdata ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3241
-      echo '    mkdir /root/tempgnusocialdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3242
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3243
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gnusocialdata /root/tempgnusocialdata $USB_MOUNT/backup/gnusocialdata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3237
+      restore_directory_from_usb /root/tempgnusocialdata gnusocialdata
3244
       echo '  if [ ! -f /root/tempgnusocialdata/usb/backup/gnusocialdata/tempgnusocialdata/gnusocial.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3238
       echo '  if [ ! -f /root/tempgnusocialdata/usb/backup/gnusocialdata/tempgnusocialdata/gnusocial.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3245
       echo '    echo "Unable to restore microblog database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3239
       echo '    echo "Unable to restore microblog database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3246
       echo '    rm -rf /root/tempgnusocialdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3240
       echo '    rm -rf /root/tempgnusocialdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3261
       echo '  if [ ! -d /root/tempgnusocial ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3255
       echo '  if [ ! -d /root/tempgnusocial ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3262
       echo '    mkdir /root/tempgnusocial' >> /usr/bin/$RESTORE_SCRIPT_NAME
3256
       echo '    mkdir /root/tempgnusocial' >> /usr/bin/$RESTORE_SCRIPT_NAME
3263
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3257
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3264
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gnusocial /root/tempgnusocial $USB_MOUNT/backup/gnusocial.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3258
+      restore_directory_from_usb /root/tempgnusocial gnusocial
3265
       echo "  rm -rf /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3259
       echo "  rm -rf /var/www/$MICROBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3266
       echo "  mv /root/tempgnusocial/usb/backup/gnusocial/www/$MICROBLOG_DOMAIN_NAME/htdocs /var/www/$MICROBLOG_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3260
       echo "  mv /root/tempgnusocial/usb/backup/gnusocial/www/$MICROBLOG_DOMAIN_NAME/htdocs /var/www/$MICROBLOG_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3267
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3261
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3282
       BACKUP_INCLUDES_WEBSITES="yes"
3276
       BACKUP_INCLUDES_WEBSITES="yes"
3283
       echo "if [ -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3277
       echo "if [ -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3284
       echo '  echo "Restoring Hubzilla database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3278
       echo '  echo "Restoring Hubzilla database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3285
-      echo '  if [ ! -d /root/temphubzilladata ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3286
-      echo '    mkdir /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3287
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3288
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/hubzilladata /root/temphubzilladata $USB_MOUNT/backup/hubzilladata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3279
+      restore_directory_from_usb /root/temphubzilladata hubzilladata
3289
       echo '  if [ ! -f /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/hubzilla.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3280
       echo '  if [ ! -f /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/hubzilla.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3290
       echo '    echo "Unable to restore Hubzilla database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3281
       echo '    echo "Unable to restore Hubzilla database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3291
       echo '    rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3282
       echo '    rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3303
       echo '  shred -zu /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
3294
       echo '  shred -zu /root/temphubzilladata/usb/backup/hubzilladata/temphubzilladata/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
3304
       echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3295
       echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3305
       echo '  echo "Restoring Hubzilla installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3296
       echo '  echo "Restoring Hubzilla installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3306
-      echo '  if [ ! -d /root/temphubzilla ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3307
-      echo '    mkdir /root/temphubzilla' >> /usr/bin/$RESTORE_SCRIPT_NAME
3308
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3309
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/hubzilla /root/temphubzilla $USB_MOUNT/backup/hubzilla.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3297
+      restore_directory_from_usb /root/temphubzilla hubzilla
3310
       echo "  rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3298
       echo "  rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3311
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3299
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3312
       echo "    cp -r /root/temphubzilla/usb/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs/* /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3300
       echo "    cp -r /root/temphubzilla/usb/backup/hubzilla/www/$HUBZILLA_DOMAIN_NAME/htdocs/* /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3333
       BACKUP_INCLUDES_WEBSITES="yes"
3321
       BACKUP_INCLUDES_WEBSITES="yes"
3334
       echo "if [ -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3322
       echo "if [ -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3335
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3323
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3336
-      echo '  if [ ! -d /root/tempownclouddata ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3337
-      echo '    mkdir /root/tempownclouddata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3338
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3339
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/ownclouddata /root/tempownclouddata $USB_MOUNT/backup/ownclouddata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3324
+      restore_directory_from_usb /root/tempownclouddata ownclouddata
3340
       echo '  if [ ! -f /root/tempownclouddata/usb/backup/ownclouddata/tempownclouddata/owncloud.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3325
       echo '  if [ ! -f /root/tempownclouddata/usb/backup/ownclouddata/tempownclouddata/owncloud.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3341
       echo '    echo "Unable to restore Owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3326
       echo '    echo "Unable to restore Owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3342
       echo '    rm -rf /root/tempownclouddata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3327
       echo '    rm -rf /root/tempownclouddata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3352
       echo '    exit 965' >> /usr/bin/$RESTORE_SCRIPT_NAME
3337
       echo '    exit 965' >> /usr/bin/$RESTORE_SCRIPT_NAME
3353
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3338
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3354
       echo '  echo "Restoring Owncloud installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3339
       echo '  echo "Restoring Owncloud installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3355
-      echo '  if [ ! -d /root/tempowncloud ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3356
-      echo '    mkdir /root/tempowncloud' >> /usr/bin/$RESTORE_SCRIPT_NAME
3357
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3358
-      echo '  if [ ! -d /root/tempowncloud2 ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3359
-      echo '    mkdir /root/tempowncloud2' >> /usr/bin/$RESTORE_SCRIPT_NAME
3360
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3361
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/owncloud /root/tempowncloud $USB_MOUNT/backup/owncloud.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3340
+      restore_directory_from_usb /root/tempowncloud owncloud
3362
       echo "  cp -r /root/tempowncloud/usb/backup/owncloud/lib/owncloud/* /var/lib/owncloud/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3341
       echo "  cp -r /root/tempowncloud/usb/backup/owncloud/lib/owncloud/* /var/lib/owncloud/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3363
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3342
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3364
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3343
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3365
       echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3344
       echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3366
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
3345
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
3367
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3346
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3368
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/owncloud2 /root/tempowncloud2 $USB_MOUNT/backup/owncloud2.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3347
+      restore_directory_from_usb /root/tempowncloud2 owncloud2
3369
       echo "  cp -r /root/tempowncloud2/usb/backup/owncloud2/owncloud/* /etc/owncloud/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3348
       echo "  cp -r /root/tempowncloud2/usb/backup/owncloud2/owncloud/* /etc/owncloud/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3370
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3349
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3371
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3350
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3391
       BACKUP_INCLUDES_WEBSITES="yes"
3370
       BACKUP_INCLUDES_WEBSITES="yes"
3392
       echo "if [ -d $USB_MOUNT/backup/gogs ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3371
       echo "if [ -d $USB_MOUNT/backup/gogs ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3393
       echo '  echo "Restoring gogs database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3372
       echo '  echo "Restoring gogs database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3394
-      echo '  if [ ! -d /root/tempgogsdata ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3395
-      echo '    mkdir /root/tempgogsdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3396
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3397
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogsdata /root/tempgogsdata $USB_MOUNT/backup/gogsdata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3373
+      restore_directory_from_usb /root/tempgogsdata gogsdata
3398
       echo '  if [ ! -f /root/tempgogsdata/usb/backup/gogsdata/tempgogsdata/gogs.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3374
       echo '  if [ ! -f /root/tempgogsdata/usb/backup/gogsdata/tempgogsdata/gogs.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3399
       echo '    echo "Unable to restore Gogs database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3375
       echo '    echo "Unable to restore Gogs database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3400
       echo '    rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3376
       echo '    rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
3410
       echo '    exit 965' >> /usr/bin/$RESTORE_SCRIPT_NAME
3386
       echo '    exit 965' >> /usr/bin/$RESTORE_SCRIPT_NAME
3411
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3387
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3412
       echo '  echo "Restoring Gogs settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3388
       echo '  echo "Restoring Gogs settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3413
-      echo '  if [ ! -d /root/tempgogs ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3414
-      echo '    mkdir /root/tempgogs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3415
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3416
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogs /root/tempgogs $USB_MOUNT/backup/gogs.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3389
+      restore_directory_from_usb /root/tempgogs gogs
3417
       echo '  if [ ! -d /home/git/go/src/github.com/gogits/gogs/custom ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3390
       echo '  if [ ! -d /home/git/go/src/github.com/gogits/gogs/custom ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3418
       echo '    mkdir -p /home/git/go/src/github.com/gogits/gogs/custom' >> /usr/bin/$RESTORE_SCRIPT_NAME
3391
       echo '    mkdir -p /home/git/go/src/github.com/gogits/gogs/custom' >> /usr/bin/$RESTORE_SCRIPT_NAME
3419
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3392
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3424
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
3397
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
3425
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3398
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3426
       echo '  echo "Restoring Gogs repos"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3399
       echo '  echo "Restoring Gogs repos"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3427
-      echo '  if [ ! -d /root/tempgogsrepos ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3428
-      echo '    mkdir /root/tempgogsrepos' >> /usr/bin/$RESTORE_SCRIPT_NAME
3429
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3430
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogsrepos /root/tempgogsrepos $USB_MOUNT/backup/gogsrepos.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3400
+      restore_directory_from_usb /root/tempgogsrepos gogsrepos
3431
       echo "  cp -r /root/tempgogsrepos/usb/backup/gogsrepos/git/gogs-repositories/* /home/git/gogs-repositories/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3401
       echo "  cp -r /root/tempgogsrepos/usb/backup/gogsrepos/git/gogs-repositories/* /home/git/gogs-repositories/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3432
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3402
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3433
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3403
       echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3435
       echo '    exit 67574' >> /usr/bin/$RESTORE_SCRIPT_NAME
3405
       echo '    exit 67574' >> /usr/bin/$RESTORE_SCRIPT_NAME
3436
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3406
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3437
       echo '  echo "Restoring Gogs authorized_keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3407
       echo '  echo "Restoring Gogs authorized_keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3438
-      echo '  if [ ! -d /root/tempgogsssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3439
-      echo '    mkdir /root/tempgogsssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3440
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3441
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogsssh /root/tempgogsssh $USB_MOUNT/backup/gogsssh.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3408
+      restore_directory_from_usb /root/tempgogsssh gogsssh
3442
       echo '  if [ ! -d /home/git/.ssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3409
       echo '  if [ ! -d /home/git/.ssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3443
       echo '    mkdir /home/git/.ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3410
       echo '    mkdir /home/git/.ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3444
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3411
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3463
 
3430
 
3464
   echo "if [ -d $USB_MOUNT/backup/wiki ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3431
   echo "if [ -d $USB_MOUNT/backup/wiki ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3465
   echo '  echo "Restoring Wiki installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3432
   echo '  echo "Restoring Wiki installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3466
-  echo '  mkdir /root/tempwiki' >> /usr/bin/$RESTORE_SCRIPT_NAME
3467
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/wiki /root/tempwiki $USB_MOUNT/backup/wiki.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3433
+  restore_directory_from_usb /root/tempwiki wiki
3468
   echo "  cp -r /root/tempwiki/usb/backup/wiki/lib/dokuwiki/* /var/lib/dokuwiki/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3434
   echo "  cp -r /root/tempwiki/usb/backup/wiki/lib/dokuwiki/* /var/lib/dokuwiki/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3469
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3435
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3470
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3436
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3471
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3437
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3472
   echo '    exit 868' >> /usr/bin/$RESTORE_SCRIPT_NAME
3438
   echo '    exit 868' >> /usr/bin/$RESTORE_SCRIPT_NAME
3473
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3439
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3474
-  echo '  mkdir /root/tempwiki2' >> /usr/bin/$RESTORE_SCRIPT_NAME
3475
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/wiki2 /root/tempwiki2 $USB_MOUNT/backup/wiki2.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3440
+  restore_directory_from_usb /root/tempwiki2 wiki2
3476
   echo "  cp -r /root/tempwiki2/usb/backup/wiki2/dokuwiki/* /etc/dokuwiki/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3441
   echo "  cp -r /root/tempwiki2/usb/backup/wiki2/dokuwiki/* /etc/dokuwiki/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3477
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3442
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3478
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3443
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3491
 
3456
 
3492
   echo "if [ -d $USB_MOUNT/backup/blog ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3457
   echo "if [ -d $USB_MOUNT/backup/blog ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3493
   echo '  echo "Restoring blog installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3458
   echo '  echo "Restoring blog installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3494
-  echo '  mkdir /root/tempblog' >> /usr/bin/$RESTORE_SCRIPT_NAME
3495
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/blog /root/tempblog $USB_MOUNT/backup/blog.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3459
+  restore_directory_from_usb /root/tempblog blog
3496
   echo "  rm -rf /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3460
   echo "  rm -rf /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3497
   echo "  cp -r /root/tempblog/usb/backup/blog/www/$FULLBLOG_DOMAIN_NAME/htdocs /var/www/$FULLBLOG_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3461
   echo "  cp -r /root/tempblog/usb/backup/blog/www/$FULLBLOG_DOMAIN_NAME/htdocs /var/www/$FULLBLOG_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3498
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3462
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3517
 
3481
 
3518
   echo "if [ -d $USB_MOUNT/backup/cjdns ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3482
   echo "if [ -d $USB_MOUNT/backup/cjdns ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3519
   echo '  echo "Restoring cjdns installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3483
   echo '  echo "Restoring cjdns installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3520
-  echo '  mkdir /root/tempcjdns' >> /usr/bin/$RESTORE_SCRIPT_NAME
3521
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/cjdns /root/tempcjdns $USB_MOUNT/backup/cjdns.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3484
+  restore_directory_from_usb /root/tempcjdns cjdns
3522
   echo "  rm -rf /etc/cjdns" >> /usr/bin/$RESTORE_SCRIPT_NAME
3485
   echo "  rm -rf /etc/cjdns" >> /usr/bin/$RESTORE_SCRIPT_NAME
3523
   echo "  cp -r /root/tempcjdns/usb/backup/cjdns/cjdns /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3486
   echo "  cp -r /root/tempcjdns/usb/backup/cjdns/cjdns /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3524
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3487
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3532
 
3495
 
3533
   echo "if [ -d $USB_MOUNT/backup/mail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3496
   echo "if [ -d $USB_MOUNT/backup/mail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3534
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3497
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3535
-  echo '  mkdir /root/tempmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3536
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/mail /root/tempmail $USB_MOUNT/backup/mail.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3498
+  restore_directory_from_usb /root/tempmail mail
3537
   echo '  if [ ! -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3499
   echo '  if [ ! -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3538
   echo '    mkdir /home/$MY_USERNAME/Maildir' >> /usr/bin/$RESTORE_SCRIPT_NAME
3500
   echo '    mkdir /home/$MY_USERNAME/Maildir' >> /usr/bin/$RESTORE_SCRIPT_NAME
3539
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3501
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3550
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3512
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3551
   echo "  if [ -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3513
   echo "  if [ -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3552
   echo '    echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3514
   echo '    echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3553
-  echo '    mkdir /root/tempdlna' >> /usr/bin/$RESTORE_SCRIPT_NAME
3554
-  echo "    rsyncrypto -v -d -r $USB_MOUNT/backup/dlna /root/tempdlna $USB_MOUNT/backup/dlna.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3515
+  restore_directory_from_usb /root/tempdlna dlna
3555
   echo "    cp -r /root/tempdlna/usb/backup/dlna/cache/minidlna/* /var/cache/minidlna/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3516
   echo "    cp -r /root/tempdlna/usb/backup/dlna/cache/minidlna/* /var/cache/minidlna/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3556
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3517
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3557
   echo "      umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3518
   echo "      umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3565
 
3526
 
3566
   echo "if [ -d $USB_MOUNT/backup/voip ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3527
   echo "if [ -d $USB_MOUNT/backup/voip ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3567
   echo '  echo "Restoring VoIP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3528
   echo '  echo "Restoring VoIP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3568
-  echo '  mkdir /root/tempvoip' >> /usr/bin/$RESTORE_SCRIPT_NAME
3569
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/voip /root/tempvoip $USB_MOUNT/backup/voip.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3529
+  restore_directory_from_usb /root/tempvoip voip
3570
   echo -n '  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3530
   echo -n '  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3571
   echo "$VOIP_CONFIG_FILE /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3531
   echo "$VOIP_CONFIG_FILE /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3572
   echo -n '  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3532
   echo -n '  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3586
 
3546
 
3587
   echo "if [ -d $USB_MOUNT/backup/tox ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3547
   echo "if [ -d $USB_MOUNT/backup/tox ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3588
   echo '  echo "Restoring Tox node settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3548
   echo '  echo "Restoring Tox node settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3589
-  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/tox /var/lib/tox-bootstrapd $USB_MOUNT/backup/tox.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
3549
+  restore_directory_from_usb /var/lib/tox-bootstrapd tox
3590
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3550
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3591
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3551
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3592
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3552
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME