浏览代码

Improving the local restore script

Bob Mottram 9 年前
父节点
当前提交
1eae7132c3
共有 1 个文件被更改,包括 91 次插入76 次删除
  1. 91
    76
      src/freedombone

+ 91
- 76
src/freedombone 查看文件

@@ -2891,68 +2891,78 @@ function create_backup_script {
2891 2891
 }
2892 2892
 
2893 2893
 function restore_directory_from_usb {
2894
-  echo "  if [ ! -d ${1} ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2895
-  echo "    mkdir ${1}" >> /usr/bin/$RESTORE_SCRIPT_NAME
2894
+  echo 'function restore_directory_from_usb {' >> /usr/bin/$RESTORE_SCRIPT_NAME
2895
+  echo "  USB_MOUNT=$USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2896
+  echo "  BACKUP_CERTIFICATE=$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2897
+  echo '  if [ ! -d ${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2898
+  echo '    mkdir ${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2896 2899
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2897 2900
 
2898 2901
   if [[ $BACKUP_TYPE == 'obnam' ]]; then
2899
-      echo "  obnam restore -r $USB_MOUNT/backup/${2} --to ${1}" >> /usr/bin/$RESTORE_SCRIPT_NAME
2902
+      echo '  obnam restore -r $USB_MOUNT/backup/${2} --to ${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2900 2903
   else
2901
-      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/${2} ${1} $USB_MOUNT/backup/${2}.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2904
+      echo '  rsyncrypto -v -d -r $USB_MOUNT/backup/${2} ${1} $USB_MOUNT/backup/${2}.keys $BACKUP_CERTIFICATE' >> /usr/bin/$RESTORE_SCRIPT_NAME
2902 2905
   fi
2906
+  echo '}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2903 2907
 }
2904 2908
 
2905 2909
 function restore_database {
2906
-  RESTORE_SUBDIR='root'
2907
-  if [[ $BACKUP_TYPE != 'obnam' ]]; then
2908
-      RESTORE_SUBDIR="usb/backup/${1}data"
2910
+  echo 'function restore_database {' >> /usr/bin/$RESTORE_SCRIPT_NAME
2911
+  echo "  USB_MOUNT=$USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2912
+  echo "  DATABASE_PASSWORD=\"$DATABASE_PASSWORD\"" >> /usr/bin/$RESTORE_SCRIPT_NAME
2913
+  if [[ $BACKUP_TYPE == 'obnam' ]]; then
2914
+      echo '  RESTORE_SUBDIR="root"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2915
+  else
2916
+      echo '  RESTORE_SUBDIR="usb/backup/${1}data"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2909 2917
   fi
2910 2918
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2911
-  echo "if [ -d $USB_MOUNT/backup/${1} ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2912
-  echo "  echo \"Restoring ${1} database\"" >> /usr/bin/$RESTORE_SCRIPT_NAME
2913
-  restore_directory_from_usb "/root/temp${1}data" "${1}data"
2914
-  echo "  if [ ! -f /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2915
-  echo "    echo \"Unable to restore ${1} database\"" >> /usr/bin/$RESTORE_SCRIPT_NAME
2919
+  echo '  if [ -d $USB_MOUNT/backup/${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2920
+  echo '    echo "Restoring ${1} database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2921
+  echo '    restore_directory_from_usb "/root/temp${1}data" "${1}data"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2922
+  echo '    if [ ! -f /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2923
+  echo '      echo "Unable to restore ${1} database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2924
+  echo '      rm -rf /root/temp${1}data' >> /usr/bin/$RESTORE_SCRIPT_NAME
2925
+  echo '      umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2926
+  echo '      rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2927
+  echo '      exit 503' >> /usr/bin/$RESTORE_SCRIPT_NAME
2928
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2929
+  echo -n '    mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD ' >> /usr/bin/$RESTORE_SCRIPT_NAME
2930
+  echo '${1} -o < /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql)' >> /usr/bin/$RESTORE_SCRIPT_NAME
2931
+  echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2932
+  echo '      echo "$mysqlsuccess"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2933
+  echo '      umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2934
+  echo '      rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2935
+  echo '      exit 964' >> /usr/bin/$RESTORE_SCRIPT_NAME
2936
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2937
+  echo '    shred -zu /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
2916 2938
   echo '    rm -rf /root/temp${1}data' >> /usr/bin/$RESTORE_SCRIPT_NAME
2917
-  echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2918
-  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2919
-  echo '    exit 503' >> /usr/bin/$RESTORE_SCRIPT_NAME
2920
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2921
-  echo -n '  mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD ' >> /usr/bin/$RESTORE_SCRIPT_NAME
2922
-  echo "${1} -o < /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql)" >> /usr/bin/$RESTORE_SCRIPT_NAME
2923
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2924
-  echo '    echo "$mysqlsuccess"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2925
-  echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2926
-  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2927
-  echo '    exit 964' >> /usr/bin/$RESTORE_SCRIPT_NAME
2928
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2929
-  echo "  shred -zu /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/*" >> /usr/bin/$RESTORE_SCRIPT_NAME
2930
-  echo "  rm -rf /root/temp${1}data" >> /usr/bin/$RESTORE_SCRIPT_NAME
2931
-  echo "  echo \"Restoring ${1} installation\"" >> /usr/bin/$RESTORE_SCRIPT_NAME
2932
-  echo "  if [ ! -d /root/temp${1} ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2933
-  echo "    mkdir /root/temp${1}" >> /usr/bin/$RESTORE_SCRIPT_NAME
2934
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2935
-  restore_directory_from_usb "/root/temp${1}" "${1}"
2936
-  RESTORE_SUBDIR='var'
2937
-  if [[ $BACKUP_TYPE != 'obnam' ]]; then
2938
-      RESTORE_SUBDIR="usb/backup/${1}"
2939
-  fi
2940
-  echo "  if [ ${2} ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2941
-  echo "    if [ -d /var/www/${2}/htdocs ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2942
-  echo "      rm -rf /var/www/${2}/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
2943
-  echo "      mv /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs /var/www/${2}/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2944
-  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2945
-  echo "        umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2946
-  echo "        rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2947
-  echo '        exit 683' >> /usr/bin/$RESTORE_SCRIPT_NAME
2948
-  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2949
-  echo '      # Ensure that the bundled SSL cert is being used' >> /usr/bin/$RESTORE_SCRIPT_NAME
2950
-  echo "      if [ -f /etc/ssl/certs/${2}.bundle.crt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2951
-  echo "        sed -i 's|${2}.crt|${2}.bundle.crt|g' /etc/nginx/sites-available/${2}" >> /usr/bin/$RESTORE_SCRIPT_NAME
2939
+  echo '    echo "Restoring ${1} installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2940
+  echo '    if [ ! -d /root/temp${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2941
+  echo '      mkdir /root/temp${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2942
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2943
+  echo '    restore_directory_from_usb "/root/temp${1}" "${1}"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2944
+  if [[ $BACKUP_TYPE == 'obnam' ]]; then
2945
+      echo '    RESTORE_SUBDIR="var"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2946
+  else
2947
+      echo '    RESTORE_SUBDIR="usb/backup/${1}"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2948
+  fi
2949
+  echo '    if [ ${2} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2950
+  echo '      if [ -d /var/www/${2}/htdocs ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2951
+  echo '        rm -rf /var/www/${2}/htdocs' >> /usr/bin/$RESTORE_SCRIPT_NAME
2952
+  echo '        mv /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs /var/www/${2}/' >> /usr/bin/$RESTORE_SCRIPT_NAME
2953
+  echo '        if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2954
+  echo '          umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2955
+  echo '          rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
2956
+  echo '          exit 683' >> /usr/bin/$RESTORE_SCRIPT_NAME
2957
+  echo '        fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2958
+  echo '        # Ensure that the bundled SSL cert is being used' >> /usr/bin/$RESTORE_SCRIPT_NAME
2959
+  echo '        if [ -f /etc/ssl/certs/${2}.bundle.crt ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2960
+  echo '          sed -i "s|${2}.crt|${2}.bundle.crt|g" /etc/nginx/sites-available/${2}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2961
+  echo '        fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2952 2962
   echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2953 2963
   echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2954 2964
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2955
-  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2965
+  echo '}' >> /usr/bin/$RESTORE_SCRIPT_NAME
2956 2966
 }
2957 2967
 
2958 2968
 function create_restore_script {
@@ -3019,6 +3029,11 @@ function create_restore_script {
3019 3029
   echo 'cp -r /home/$MY_USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_SCRIPT_NAME
3020 3030
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3021 3031
 
3032
+  restore_directory_from_usb
3033
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3034
+  restore_database
3035
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3036
+
3022 3037
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
3023 3038
       echo "if [ -f $USB_MOUNT/backup/key.gpg ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3024 3039
       echo "  if [ -f $BACKUP_CERTIFICATE.new ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3070,7 +3085,7 @@ function create_restore_script {
3070 3085
       fi
3071 3086
       echo "if [ -d $USB_MOUNT/backup/mariadb ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3072 3087
       echo '  echo "Restoring mysql settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3073
-      restore_directory_from_usb '/root/tempmariadb' 'mariadb'
3088
+      echo '  restore_directory_from_usb /root/tempmariadb mariadb' >> /usr/bin/$RESTORE_SCRIPT_NAME
3074 3089
       echo '  echo "Get the MariaDB password from the backup"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3075 3090
       echo "  if [ ! -f /root/tempmariadb/${RESTORE_SUBDIR}tempmariadb/db ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3076 3091
       echo '    echo "MariaDB password file not found"' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3115,7 +3130,7 @@ function create_restore_script {
3115 3130
   fi
3116 3131
   echo "if [ -d $USB_MOUNT/backup/mutt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3117 3132
   echo '  echo "Restoring Mutt settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3118
-  restore_directory_from_usb '/root/tempmutt' 'mutt'
3133
+  echo '  restore_directory_from_usb /root/tempmutt mutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3119 3134
   echo -n "  if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3120 3135
   echo '$MY_USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3121 3136
   echo -n "    cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3142,7 +3157,7 @@ function create_restore_script {
3142 3157
   fi
3143 3158
   echo "if [ -d $USB_MOUNT/backup/gnupg ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3144 3159
   echo '  echo "Restoring gnupg settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3145
-  restore_directory_from_usb '/root/tempgnupg' 'gnupg'
3160
+  echo '  restore_directory_from_usb /root/tempgnupg gnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3146 3161
   echo -n "  cp -r /root/tempgnupg/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3147 3162
   echo '$MY_USERNAME/.gnupg /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3148 3163
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3167,7 +3182,7 @@ function create_restore_script {
3167 3182
   fi
3168 3183
   echo "if [ -d $USB_MOUNT/backup/procmail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3169 3184
   echo '  echo "Restoring procmail settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3170
-  restore_directory_from_usb '/root/tempprocmail' 'procmail'
3185
+  echo '  restore_directory_from_usb /root/tempprocmail procmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3171 3186
   echo -n "  cp -f /root/tempprocmail/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3172 3187
   echo '$MY_USERNAME/tempbackup/.procmailrc /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3173 3188
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3186,7 +3201,7 @@ function create_restore_script {
3186 3201
   fi
3187 3202
   echo "if [ -d $USB_MOUNT/backup/spamassassin ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3188 3203
   echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3189
-  restore_directory_from_usb '/root/tempspamassassin' 'spamassassin'
3204
+  echo 'restore_directory_from_usb /root/tempspamassassin spamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3190 3205
   echo -n "  cp -rf /root/tempspamassassin/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3191 3206
   echo '$MY_USERNAME/.spamassassin /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3192 3207
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3205,7 +3220,7 @@ function create_restore_script {
3205 3220
   fi
3206 3221
   echo "if [ -d $USB_MOUNT/backup/readme ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3207 3222
   echo '  echo "Restoring README"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3208
-  restore_directory_from_usb '/root/tempreadme' 'readme'
3223
+  echo '  restore_directory_from_usb /root/tempreadme readme' >> /usr/bin/$RESTORE_SCRIPT_NAME
3209 3224
   echo -n "  cp -f /root/tempreadme/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3210 3225
   echo '$MY_USERNAME/tempbackup/README /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3211 3226
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3224,7 +3239,7 @@ function create_restore_script {
3224 3239
   fi
3225 3240
   echo "if [ -d $USB_MOUNT/backup/ipfs ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3226 3241
   echo '  echo "Restoring IPFS"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3227
-  restore_directory_from_usb '/root/tempipfs' 'ipfs'
3242
+  echo '  restore_directory_from_usb /root/tempipfs ipfs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3228 3243
   echo -n "  cp -f /root/tempipfs/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3229 3244
   echo '$MY_USERNAME/tempbackup/ipfs/* /home/$MY_USERNAME/.ipfs' >> /usr/bin/$RESTORE_SCRIPT_NAME
3230 3245
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3243,7 +3258,7 @@ function create_restore_script {
3243 3258
   fi
3244 3259
   echo "if [ -d $USB_MOUNT/backup/ssh ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3245 3260
   echo '  echo "Restoring ssh keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3246
-  restore_directory_from_usb '/root/tempssh' 'ssh'
3261
+  echo '  restore_directory_from_usb /root/tempssh ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3247 3262
   echo -n "  cp -r /root/tempssh/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3248 3263
   echo '$MY_USERNAME/.ssh /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3249 3264
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3263,7 +3278,7 @@ function create_restore_script {
3263 3278
   echo "if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3264 3279
   echo '  echo "Restoring certificates"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3265 3280
   echo '  mkdir /root/tempssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3266
-  restore_directory_from_usb '/root/tempssl' 'ssl'
3281
+  echo '  restore_directory_from_usb /root/tempssl ssl' >> /usr/bin/$RESTORE_SCRIPT_NAME
3267 3282
   echo "  cp -r /root/tempssl/${RESTORE_SUBDIR}ssl/* /etc/ssl" >> /usr/bin/$RESTORE_SCRIPT_NAME
3268 3283
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3269 3284
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3280,7 +3295,7 @@ function create_restore_script {
3280 3295
   fi
3281 3296
   echo "if [ -d $USB_MOUNT/backup/projects ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3282 3297
   echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3283
-  restore_directory_from_usb '/root/tempprojects' 'projects'
3298
+  echo '  restore_directory_from_usb /root/tempprojects projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3284 3299
   echo '  if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3285 3300
   echo '    rm -rf /home/$MY_USERNAME/projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3286 3301
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3301,7 +3316,7 @@ function create_restore_script {
3301 3316
   fi
3302 3317
   echo "if [ -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3303 3318
   echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3304
-  restore_directory_from_usb '/root/temppersonal' 'personal'
3319
+  echo '  restore_directory_from_usb /root/temppersonal personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3305 3320
   echo '  if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3306 3321
   echo '    rm -rf /home/$MY_USERNAME/personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3307 3322
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3322,7 +3337,7 @@ function create_restore_script {
3322 3337
   fi
3323 3338
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3324 3339
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3325
-  restore_directory_from_usb '/root/tempmailinglist' 'mailinglist'
3340
+  echo '  restore_directory_from_usb /root/tempmailinglist mailinglist' >> /usr/bin/$RESTORE_SCRIPT_NAME
3326 3341
   echo "  cp -r /root/tempmailinglist/${RESTORE_SUBDIR}spool/mlmmj/* $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3327 3342
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3328 3343
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3339,7 +3354,7 @@ function create_restore_script {
3339 3354
   fi
3340 3355
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3341 3356
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3342
-  restore_directory_from_usb '/root/tempxmpp' 'xmpp'
3357
+  echo '  restore_directory_from_usb /root/tempxmpp xmpp' >> /usr/bin/$RESTORE_SCRIPT_NAME
3343 3358
   echo "  cp -r /root/tempxmpp/${RESTORE_SUBDIR}lib/prosody/* $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
3344 3359
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3345 3360
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3356,7 +3371,7 @@ function create_restore_script {
3356 3371
 
3357 3372
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
3358 3373
       BACKUP_INCLUDES_WEBSITES="yes"
3359
-      restore_database gnusocial $MICROBLOG_DOMAIN_NAME
3374
+      echo "restore_database gnusocial $MICROBLOG_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3360 3375
       echo 'if [ -d /root/tempgnusocial ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3361 3376
       echo '  rm -rf /root/tempgnusocial' >> /usr/bin/$RESTORE_SCRIPT_NAME
3362 3377
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3364,7 +3379,7 @@ function create_restore_script {
3364 3379
 
3365 3380
   if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
3366 3381
       BACKUP_INCLUDES_WEBSITES="yes"
3367
-      restore_database hubzilla $HUBZILLA_DOMAIN_NAME
3382
+      echo "restore_database hubzilla $HUBZILLA_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3368 3383
       echo "if [ -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3369 3384
       echo "  if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3 ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3370 3385
       echo "    mkdir -p /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3380,9 +3395,9 @@ function create_restore_script {
3380 3395
 
3381 3396
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
3382 3397
       BACKUP_INCLUDES_WEBSITES="yes"
3383
-      restore_database owncloud $OWNCLOUD_DOMAIN_NAME
3398
+      echo "restore_database owncloud $OWNCLOUD_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3384 3399
       echo "if [ -d $USB_MOUNT/backup/owncloud2 ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3385
-      restore_directory_from_usb '/root/tempowncloud2' 'owncloud2'
3400
+      echo 'restore_directory_from_usb /root/tempowncloud2 owncloud2' >> /usr/bin/$RESTORE_SCRIPT_NAME
3386 3401
       RESTORE_SUBDIR='etc/'
3387 3402
       if [[ $BACKUP_TYPE != 'obnam' ]]; then
3388 3403
           RESTORE_SUBDIR='usb/backup/owncloud2/'
@@ -3406,7 +3421,7 @@ function create_restore_script {
3406 3421
 
3407 3422
   if grep -Fxq "install_gogs" $COMPLETION_FILE; then
3408 3423
       BACKUP_INCLUDES_WEBSITES="yes"
3409
-      restore_database gogs $GIT_DOMAIN_NAME
3424
+      echo "restore_database gogs $GIT_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3410 3425
       RESTORE_SUBDIR='home'
3411 3426
       if [[ $BACKUP_TYPE != 'obnam' ]]; then
3412 3427
           RESTORE_SUBDIR='usb/backup/gogs'
@@ -3423,7 +3438,7 @@ function create_restore_script {
3423 3438
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
3424 3439
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3425 3440
       echo '  echo "Restoring Gogs repos"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3426
-      restore_directory_from_usb '/root/tempgogsrepos' 'gogsrepos'
3441
+      echo 'restore_directory_from_usb /root/tempgogsrepos gogsrepos' >> /usr/bin/$RESTORE_SCRIPT_NAME
3427 3442
       if [[ $BACKUP_TYPE != 'obnam' ]]; then
3428 3443
           RESTORE_SUBDIR='usb/backup/gogsrepos'
3429 3444
       fi
@@ -3434,7 +3449,7 @@ function create_restore_script {
3434 3449
       echo '    exit 67574' >> /usr/bin/$RESTORE_SCRIPT_NAME
3435 3450
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3436 3451
       echo '  echo "Restoring Gogs authorized_keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3437
-      restore_directory_from_usb '/root/tempgogsssh' 'gogsssh'
3452
+      echo '  restore_directory_from_usb /root/tempgogsssh gogsssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3438 3453
       echo '  if [ ! -d /home/git/.ssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3439 3454
       echo '    mkdir /home/git/.ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3440 3455
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3461,14 +3476,14 @@ function create_restore_script {
3461 3476
   fi
3462 3477
   echo "if [ -d $USB_MOUNT/backup/wiki ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3463 3478
   echo '  echo "Restoring Wiki installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3464
-  restore_directory_from_usb '/root/tempwiki' 'wiki'
3479
+  echo '  restore_directory_from_usb /root/tempwiki wiki' >> /usr/bin/$RESTORE_SCRIPT_NAME
3465 3480
   echo "  cp -r /root/tempwiki/${RESTORE_SUBDIR}/lib/dokuwiki/* /var/lib/dokuwiki/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3466 3481
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3467 3482
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3468 3483
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3469 3484
   echo '    exit 868' >> /usr/bin/$RESTORE_SCRIPT_NAME
3470 3485
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3471
-  restore_directory_from_usb '/root/tempwiki2' 'wiki2'
3486
+  echo '  restore_directory_from_usb /root/tempwiki2 wiki2' >> /usr/bin/$RESTORE_SCRIPT_NAME
3472 3487
   RESTORE_SUBDIR='etc'
3473 3488
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
3474 3489
       RESTORE_SUBDIR='usb/backup/wiki2'
@@ -3495,7 +3510,7 @@ function create_restore_script {
3495 3510
   fi
3496 3511
   echo "if [ -d $USB_MOUNT/backup/blog ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3497 3512
   echo '  echo "Restoring blog installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3498
-  restore_directory_from_usb '/root/tempblog' 'blog'
3513
+  echo '  restore_directory_from_usb /root/tempblog blog' >> /usr/bin/$RESTORE_SCRIPT_NAME
3499 3514
   echo "  rm -rf /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3500 3515
   echo "  cp -r /root/tempblog/${RESTORE_SUBDIR}/www/$FULLBLOG_DOMAIN_NAME/htdocs /var/www/$FULLBLOG_DOMAIN_NAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3501 3516
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3524,7 +3539,7 @@ function create_restore_script {
3524 3539
   fi
3525 3540
   echo "if [ -d $USB_MOUNT/backup/cjdns ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3526 3541
   echo '  echo "Restoring cjdns installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3527
-  restore_directory_from_usb '/root/tempcjdns' 'cjdns'
3542
+  echo '  restore_directory_from_usb /root/tempcjdns cjdns' >> /usr/bin/$RESTORE_SCRIPT_NAME
3528 3543
   echo "  rm -rf /etc/cjdns" >> /usr/bin/$RESTORE_SCRIPT_NAME
3529 3544
   echo "  cp -r /root/tempcjdns/${RESTORE_SUBDIR}/cjdns /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3530 3545
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3542,7 +3557,7 @@ function create_restore_script {
3542 3557
   fi
3543 3558
   echo "if [ -d $USB_MOUNT/backup/mail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3544 3559
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3545
-  restore_directory_from_usb '/root/tempmail' 'mail'
3560
+  echo '  restore_directory_from_usb /root/tempmail mail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3546 3561
   echo '  if [ ! -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3547 3562
   echo '    mkdir /home/$MY_USERNAME/Maildir' >> /usr/bin/$RESTORE_SCRIPT_NAME
3548 3563
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3563,7 +3578,7 @@ function create_restore_script {
3563 3578
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3564 3579
   echo "  if [ -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3565 3580
   echo '    echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3566
-  restore_directory_from_usb '/root/tempdlna' 'dlna'
3581
+  echo '    restore_directory_from_usb /root/tempdlna dlna' >> /usr/bin/$RESTORE_SCRIPT_NAME
3567 3582
   echo "    cp -r /root/tempdlna/${RESTORE_SUBDIR}/cache/minidlna/* /var/cache/minidlna/" >> /usr/bin/$RESTORE_SCRIPT_NAME
3568 3583
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3569 3584
   echo "      umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3577,7 +3592,7 @@ function create_restore_script {
3577 3592
 
3578 3593
   echo "if [ -d $USB_MOUNT/backup/voip ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3579 3594
   echo '  echo "Restoring VoIP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3580
-  restore_directory_from_usb '/root/tempvoip' 'voip'
3595
+  echo '  restore_directory_from_usb /root/tempvoip voip' >> /usr/bin/$RESTORE_SCRIPT_NAME
3581 3596
   RESTORE_SUBDIR='home'
3582 3597
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
3583 3598
       RESTORE_SUBDIR='usb/backup/voip'
@@ -3609,7 +3624,7 @@ function create_restore_script {
3609 3624
 
3610 3625
   echo "if [ -d $USB_MOUNT/backup/tox ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3611 3626
   echo '  echo "Restoring Tox node settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3612
-  restore_directory_from_usb '/var/lib/tox-bootstrapd' 'tox'
3627
+  echo '  restore_directory_from_usb /var/lib/tox-bootstrapd tox' >> /usr/bin/$RESTORE_SCRIPT_NAME
3613 3628
   echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3614 3629
   echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3615 3630
   echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME