瀏覽代碼

Backup to usb

Bob Mottram 10 年之前
父節點
當前提交
c1b34fceba
共有 1 個檔案被更改,包括 47 行新增249 行删除
  1. 47
    249
      install-freedombone.sh

+ 47
- 249
install-freedombone.sh 查看文件

@@ -305,7 +305,7 @@ function create_backup_script {
305 305
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
306 306
       return
307 307
   fi
308
-  apt-get -y --force-yes install duplicity
308
+  apt-get -y --force-yes install duplicity gnupg
309 309
 
310 310
   echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
311 311
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -328,21 +328,67 @@ function create_backup_script {
328 328
   echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
329 329
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
330 330
   if [[ $MICROBLOG_INSTALLED == "yes" ]]; then
331
+	  echo 'echo "Obtaining GNU Social database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
331 332
       echo "mysqldump --password=$MARIADB_PASSWORD gnusocial > /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
332 333
   fi
333 334
   if [[ $REDMATRIX_INSTALLED == "yes" ]]; then
335
+	  echo 'echo "Obtaining Red Matrix database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
334 336
       echo "mysqldump --password=$MARIADB_PASSWORD redmatrix > /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
335 337
   fi
336 338
   if [[ $OWNCLOUD_INSTALLED == "yes" ]]; then
339
+	  echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
337 340
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/owncloud.tar.gz /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/config /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_SCRIPT_NAME
338 341
   fi
339 342
   if [[ $WIKI_INSTALLED == "yes" ]]; then
343
+	  echo 'echo "Obtaining wiki data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
340 344
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
341 345
   fi
346
+  echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
342 347
   echo 'tar -czvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz /home/$MY_USERNAME/.gnupg /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/.ssh /home/$MY_USERNAME/personal' >> /usr/bin/$BACKUP_SCRIPT_NAME
343 348
 
349
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
350
+  echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_SCRIPT_NAME
351
+  echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
352
+  echo '  echo "Backing up the public mailing list"' >> /usr/bin/$BACKUP_SCRIPT_NAME
353
+  echo "  duplicity incr --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems $PUBLIC_MAILING_LIST_DIRECTORY file://$USB_MOUNT/backup/publicmailinglist" >> /usr/bin/$BACKUP_SCRIPT_NAME
354
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
355
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
356
+  echo '# Backup xmpp settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
357
+  echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
358
+  echo '  echo "Backing up the XMPP settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
359
+  echo "  duplicity incr --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems $XMPP_DIRECTORY file://$USB_MOUNT/backup/xmpp" >> /usr/bin/$BACKUP_SCRIPT_NAME
360
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
361
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
362
+  echo '# Backup web content and other stuff' >> /usr/bin/$BACKUP_SCRIPT_NAME
363
+  echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
364
+  echo '  echo "Backing up web content and miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
365
+  echo "  duplicity incr --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems /home/$MY_USERNAME/tempfiles file://$USB_MOUNT/backup/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
366
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
367
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
368
+  echo '# Backup email' >> /usr/bin/$BACKUP_SCRIPT_NAME
369
+  echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
370
+  echo '  echo "Backing up emails"' >> /usr/bin/$BACKUP_SCRIPT_NAME
371
+  echo "  duplicity incr --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems /home/$MY_USERNAME/Maildir file://$USB_MOUNT/backup/Maildir" >> /usr/bin/$BACKUP_SCRIPT_NAME
372
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
373
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
374
+  echo '# Backup DLNA cache' >> /usr/bin/$BACKUP_SCRIPT_NAME
375
+  echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
376
+  echo '  echo "Backing up DLNA cache"' >> /usr/bin/$BACKUP_SCRIPT_NAME
377
+  echo "  duplicity incr --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems /var/cache/minidlna file://$USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
378
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
344 379
 
380
+  echo 'echo "Cleaning up backup files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
381
+  echo 'duplicity --force cleanup file://$USB_MOUNT/backup' >> /usr/bin/$BACKUP_SCRIPT_NAME
382
+  echo 'echo "Removing old backups"' >> /usr/bin/$BACKUP_SCRIPT_NAME
383
+  echo 'duplicity --force remove-all-but-n-full 2 file://$USB_MOUNT/backup' >> /usr/bin/$BACKUP_SCRIPT_NAME
345 384
 
385
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
386
+  echo '# Remove temporary files' >> /usr/bin/$BACKUP_SCRIPT_NAME
387
+  echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
388
+  echo '  echo "Removing temporary files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
389
+  echo "  rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
390
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
391
+  echo 'echo "Backup is complete"' >> /usr/bin/$BACKUP_SCRIPT_NAME
346 392
   echo 'exit 0' >> /usr/bin/$BACKUP_SCRIPT_NAME
347 393
 
348 394
   echo 'create_backup_script' >> $COMPLETION_FILE
@@ -3574,254 +3620,6 @@ function install_mediagoblin {
3574 3620
   echo 'install_mediagoblin' >> $COMPLETION_FILE
3575 3621
 }
3576 3622
 
3577
-function create_backup_script_old {
3578
-  if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
3579
-      return
3580
-  fi
3581
-
3582
-  apt-get -y --force-yes install rsyncrypto
3583
-
3584
-  if [ ! -f /usr/bin/rsyncrypto ]; then
3585
-      echo "ERROR: rsyncrypto may not have installed correctly. $CHECK_MESSAGE"
3586
-      exit 46
3587
-  fi
3588
-
3589
-  echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
3590
-  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
3591
-  echo "if [ ! -f /etc/ssl/private/rsync.key ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3592
-  echo '  echo "Generating an rsync encryption certificate"' >> /usr/bin/$BACKUP_SCRIPT_NAME
3593
-  echo "  openssl req -nodes -newkey rsa:2048 -x509 -sha256 -keyout /etc/ssl/private/rsync.key -out /etc/ssl/certs/rsync.crt" >> /usr/bin/$BACKUP_SCRIPT_NAME
3594
-  echo '  chmod 400 /etc/ssl/private/rsync.key' >> /usr/bin/$BACKUP_SCRIPT_NAME
3595
-  echo '  rm /etc/ssl/certs/rsync.crt' >> /usr/bin/$BACKUP_SCRIPT_NAME
3596
-  echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
3597
-  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
3598
-  echo 'if [ ! -d ~/rr ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
3599
-  echo '  mkdir ~/rr' >> /usr/bin/$BACKUP_SCRIPT_NAME
3600
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3601
-  echo 'if [ ! -d ~/rr/keys ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
3602
-  echo "  mkdir ~/rr/keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
3603
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3604
-  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
3605
-  echo "if [ -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3606
-  echo "  if [ ! -d $USB_MOUNT ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3607
-  echo "    mkdir $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
3608
-  echo "    mount $USB_DRIVE $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
3609
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3610
-  echo "  if [ ! -d $USB_MOUNT/backup ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3611
-  echo "    mkdir $USB_MOUNT/backup" >> /usr/bin/$BACKUP_SCRIPT_NAME
3612
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3613
-  # email
3614
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
3615
-      echo "  if [ ! -d $USB_MOUNT/backup/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3616
-      echo "    mkdir $USB_MOUNT/backup/Maildir" >> /usr/bin/$BACKUP_SCRIPT_NAME
3617
-      echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3618
-      echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /home/$MY_USERNAME/Maildir $USB_MOUNT/backup/Maildir ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3619
-      echo "  if [ ! -d $USB_MOUNT/backup/gpg ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3620
-      echo "    mkdir $USB_MOUNT/backup/gpg" >> /usr/bin/$BACKUP_SCRIPT_NAME
3621
-      echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3622
-      echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /home/$MY_USERNAME/.gnupg $USB_MOUNT/backup/gpg ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3623
-      echo "  cp -f /home/$MY_USERNAME/.muttrc $USB_MOUNT/backup/gpg" >> /usr/bin/$BACKUP_SCRIPT_NAME
3624
-      echo "  cp -f /home/$MY_USERNAME/.procmailrc $USB_MOUNT/backup/gpg" >> /usr/bin/$BACKUP_SCRIPT_NAME
3625
-  fi
3626
-  # personal directory
3627
-  echo "  if [ -d /home/$MY_USERNAME/personal ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3628
-  echo "    if [ ! -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3629
-  echo "      mkdir $USB_MOUNT/backup/personal" >> /usr/bin/$BACKUP_SCRIPT_NAME
3630
-  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3631
-  echo "    rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /home/$MY_USERNAME/personal $USB_MOUNT/backup/personal ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3632
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3633
-  # SSL certificates
3634
-  echo "  if [ ! -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3635
-  echo "    mkdir $USB_MOUNT/backup/ssl" >> /usr/bin/$BACKUP_SCRIPT_NAME
3636
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3637
-  echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /etc/ssl $USB_MOUNT/backup/ssl ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3638
-  # dynamic dns
3639
-  echo "  if [ -f /usr/bin/dynamicdns ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3640
-  echo "    cp -f /usr/bin/dynamicdns $USB_MOUNT/backup/dynamicdns" >> /usr/bin/$BACKUP_SCRIPT_NAME
3641
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3642
-  # web server
3643
-  echo "  if [ -d /etc/nginx ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3644
-  echo "    if [ ! -d $USB_MOUNT/backup/webserver ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3645
-  echo "        mkdir $USB_MOUNT/backup/webserver" >> /usr/bin/$BACKUP_SCRIPT_NAME
3646
-  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3647
-  echo "    rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /etc/nginx/sites-available $USB_MOUNT/backup/webserver ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3648
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3649
-  # owncloud
3650
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3651
-      if [ $OWNCLOUD_DOMAIN_NAME ]; then
3652
-          echo "  if [ ! -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3653
-          echo "    mkdir $USB_MOUNT/backup/owncloud" >> /usr/bin/$BACKUP_SCRIPT_NAME
3654
-          echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3655
-          echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /var/www/$OWNCLOUD_DOMAIN_NAME $USB_MOUNT/backup/owncloud ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3656
-      fi
3657
-  fi
3658
-  # prosody
3659
-  echo '  if [ -d /var/lib/prosody ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
3660
-  echo "    if [ ! -d $USB_MOUNT/backup/prosody ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3661
-  echo "      mkdir $USB_MOUNT/backup/prosody" >> /usr/bin/$BACKUP_SCRIPT_NAME
3662
-  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3663
-  echo "    rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /var/lib/prosody $USB_MOUNT/backup/prosody ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3664
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3665
-  # wiki / blog
3666
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3667
-      if [ $WIKI_DOMAIN_NAME ]; then
3668
-          echo "  if [ ! -d $USB_MOUNT/backup/wiki-blog ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3669
-          echo "    mkdir $USB_MOUNT/backup/wiki-blog" >> /usr/bin/$BACKUP_SCRIPT_NAME
3670
-          echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3671
-          echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /var/www/$WIKI_DOMAIN_NAME $USB_MOUNT/backup/wiki-blog ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3672
-      fi
3673
-  fi
3674
-  # microblog
3675
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3676
-      if [ $MICROBLOG_DOMAIN_NAME ]; then
3677
-          echo "  if [ ! -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3678
-          echo "    mkdir $USB_MOUNT/backup/gnusocial" >> /usr/bin/$BACKUP_SCRIPT_NAME
3679
-          echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3680
-          echo "  mysqldump --password=$MARIADB_PASSWORD gnusocial > $USB_MOUNT/backup/gnusocial/database.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
3681
-      fi
3682
-  fi
3683
-  # redmatrix
3684
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3685
-      if [ $REDMATRIX_DOMAIN_NAME ]; then
3686
-          echo "  if [ ! -d $USB_MOUNT/backup/redmatrix ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3687
-          echo "    mkdir $USB_MOUNT/backup/redmatrix" >> /usr/bin/$BACKUP_SCRIPT_NAME
3688
-          echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3689
-          echo "  mysqldump --password=$MARIADB_PASSWORD redmatrix > $USB_MOUNT/backup/redmatrix/database.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
3690
-      fi
3691
-  fi
3692
-  # dlna
3693
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
3694
-      echo "  if [ ! -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
3695
-      echo "    mkdir $USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
3696
-      echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3697
-      echo "  rsyncrypto --ne-nesting=2 --trim=3 -n ~/rr/map -cvr /var/cache/minidlna $USB_MOUNT/backup/dlna ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$BACKUP_SCRIPT_NAME
3698
-  fi
3699
-  echo 'else' >> /usr/bin/$BACKUP_SCRIPT_NAME
3700
-  echo '  echo "Please insert a USB drive to create the backup."' >> /usr/bin/$BACKUP_SCRIPT_NAME
3701
-  echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
3702
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
3703
-  echo 'echo "Backup completed"' >> /usr/bin/$BACKUP_SCRIPT_NAME
3704
-  echo 'exit 0' >> /usr/bin/$BACKUP_SCRIPT_NAME
3705
-  chmod 600 /usr/bin/$BACKUP_SCRIPT_NAME
3706
-  chmod +x /usr/bin/$BACKUP_SCRIPT_NAME
3707
-
3708
-  echo 'create_backup_script' >> $COMPLETION_FILE
3709
-}
3710
-
3711
-function create_restore_script_old {
3712
-  if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
3713
-      return
3714
-  fi
3715
-  apt-get -y --force-yes install rsyncrypto
3716
-
3717
-  if [ ! -f /usr/bin/rsyncrypto ]; then
3718
-      echo "ERROR: rsyncrypto may not have installed correctly. $CHECK_MESSAGE"
3719
-      exit 47
3720
-  fi
3721
-
3722
-  DIR_TRIM=3
3723
-  echo '#!/bin/bash' > /usr/bin/$RESTORE_SCRIPT_NAME
3724
-  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3725
-  echo 'if [ ! -f /etc/ssl/private/rsync.key ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3726
-  echo '  echo "No rsync certificate found"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3727
-  echo '  exit 2' >> /usr/bin/$RESTORE_SCRIPT_NAME
3728
-  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3729
-  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3730
-  echo "if [ -b $USB_DRIVE ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3731
-  echo "  if [ ! -d $USB_MOUNT ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3732
-  echo "    mkdir $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3733
-  echo "    mount $USB_DRIVE $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
3734
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3735
-  echo "  if [ ! -d $USB_MOUNT/backup ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3736
-  echo '    echo "No backup directory was found on the USB drive"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3737
-  echo "    exit 1" >> /usr/bin/$RESTORE_SCRIPT_NAME
3738
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3739
-  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3740
-  # email
3741
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
3742
-      echo "  if [ -d $USB_MOUNT/backup/Maildir ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3743
-      echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/Maildir /home/$MY_USERNAME/Maildir ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3744
-      echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/gpg /home/$MY_USERNAME/.gnupg ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3745
-      echo "    cp -f $USB_MOUNT/backup/gpg/.muttrc /home/$MY_USERNAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3746
-      echo "    cp -f $USB_MOUNT/backup/gpg/.procmailrc /home/$MY_USERNAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3747
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3748
-  fi
3749
-  # personal directory
3750
-  echo "  if [ -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3751
-  echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/personal /home/$MY_USERNAME/personal ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3752
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3753
-  # SSL certificates
3754
-  echo "  if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3755
-  echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/ssl /etc/ssl ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3756
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3757
-  # dynamic dns
3758
-  echo "  if [ -f $USB_MOUNT/backup/dynamicdns ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3759
-  echo "    cp -f $USB_MOUNT/backup/dynamicdns /usr/bin/dynamicdns" >> /usr/bin/$RESTORE_SCRIPT_NAME
3760
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3761
-  # web server
3762
-  echo "  if [ -d /etc/nginx ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3763
-  echo "    if [ -d $USB_MOUNT/backup/webserver ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3764
-  echo "      rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/webserver /etc/nginx ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3765
-  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3766
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3767
-  # owncloud
3768
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3769
-      if [ $OWNCLOUD_DOMAIN_NAME ]; then
3770
-          echo "  if [ -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3771
-          echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3772
-          echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3773
-      fi
3774
-  fi
3775
-  # prosody
3776
-  echo '  if [ -d /var/lib/prosody ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3777
-  echo "    if [ -d $USB_MOUNT/backup/prosody ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3778
-  echo "      rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/prosody /var/lib/prosody ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3779
-  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3780
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3781
-  # wiki / blog
3782
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3783
-      if [ $WIKI_DOMAIN_NAME ]; then
3784
-          echo "  if [ -d $USB_MOUNT/backup/wiki-blog ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3785
-          echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/wiki-blog /var/www/$WIKI_DOMAIN_NAME ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3786
-          echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3787
-      fi
3788
-  fi
3789
-  # microblog
3790
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3791
-      if [ $MICROBLOG_DOMAIN_NAME ]; then
3792
-          echo "  if [ -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3793
-          echo "    mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < $USB_MOUNT/backup/gnusocial/database.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
3794
-          echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3795
-
3796
-      fi
3797
-  fi
3798
-  # redmatrix
3799
-  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
3800
-      if [ $REDMATRIX_DOMAIN_NAME ]; then
3801
-          echo "  if [ -d $USB_MOUNT/backup/redmatrix ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3802
-          echo "    mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < $USB_MOUNT/backup/redmatrix/database.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
3803
-          echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3804
-IPT_NAME
3805
-      fi
3806
-  fi
3807
-  # dlna
3808
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
3809
-      echo "  if [ -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3810
-      echo "    rsyncrypto --trim=${DIR_TRIM} -vrd $USB_MOUNT/backup/minidlna /var/cache/minidlna ~/rr/keys /etc/ssl/private/rsync.key" >> /usr/bin/$RESTORE_SCRIPT_NAME
3811
-      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3812
-  fi
3813
-  echo 'else' >> /usr/bin/$RESTORE_SCRIPT_NAME
3814
-  echo '  echo "Please insert a USB drive containing the backup."' >> /usr/bin/$RESTORE_SCRIPT_NAME
3815
-  echo '  exit 1' >> /usr/bin/$RESTORE_SCRIPT_NAME
3816
-  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3817
-  echo 'Restore completed' >> /usr/bin/$RESTORE_SCRIPT_NAME
3818
-  echo 'exit 0' >> /usr/bin/$RESTORE_SCRIPT_NAME
3819
-  chmod 600 /usr/bin/$RESTORE_SCRIPT_NAME
3820
-  chmod +x /usr/bin/$RESTORE_SCRIPT_NAME
3821
-
3822
-  echo 'create_restore_script' >> $COMPLETION_FILE
3823
-}
3824
-
3825 3623
 function install_final {
3826 3624
   if grep -Fxq "install_final" $COMPLETION_FILE; then
3827 3625
       return