浏览代码

Try rsyncrypto

Bob Mottram 10 年前
父节点
当前提交
a5dd693c84
共有 1 个文件被更改,包括 312 次插入185 次删除
  1. 312
    185
      install-freedombone.sh

+ 312
- 185
install-freedombone.sh 查看文件

234
 # Name of a script used to restore the system from usb drive
234
 # Name of a script used to restore the system from usb drive
235
 RESTORE_SCRIPT_NAME="restore"
235
 RESTORE_SCRIPT_NAME="restore"
236
 
236
 
237
-# The command used for backups
238
-BACKUP_COMMAND="duplicity"
239
-
240
 # name of a script used to backup to friends servers
237
 # name of a script used to backup to friends servers
241
 BACKUP_TO_FRIENDS_SCRIPT_NAME="backup2friends"
238
 BACKUP_TO_FRIENDS_SCRIPT_NAME="backup2friends"
242
 
239
 
243
 # name of a script used to restore backed up data from a friend
240
 # name of a script used to restore backed up data from a friend
244
 RESTORE_FROM_FRIEND_SCRIPT_NAME="restorefromfriend"
241
 RESTORE_FROM_FRIEND_SCRIPT_NAME="restorefromfriend"
245
 
242
 
243
+# Location of the certificate used to encrypt backups
244
+BACKUP_CERTIFICATE=/etc/ssl/private/backup.key
245
+
246
 # memory limit for php in MB
246
 # memory limit for php in MB
247
 MAX_PHP_MEMORY=64
247
 MAX_PHP_MEMORY=64
248
 
248
 
362
       if grep -q "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE; then
362
       if grep -q "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE; then
363
           LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
363
           LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
364
       fi
364
       fi
365
+      if grep -q "BACKUP_CERTIFICATE" $CONFIGURATION_FILE; then
366
+          BACKUP_CERTIFICATE=$(grep "BACKUP_CERTIFICATE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
367
+      fi
365
       if grep -q "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE; then
368
       if grep -q "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE; then
366
           ROUTER_IP_ADDRESS=$(grep "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
369
           ROUTER_IP_ADDRESS=$(grep "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
367
       fi
370
       fi
526
   fi
529
   fi
527
 }
530
 }
528
 
531
 
529
-function import_gpg_key_to_root {
530
-  # This is a compromise. backup needs access to things which the user
531
-  # doesn't have access to, but also needs to be able to encrypt as the user
532
-  # Perhaps there is some better way to do this.
533
-  # Maybe there should be a separate backup GPG key.  Discuss.
534
-  if [ ! $MY_GPG_PUBLIC_KEY ]; then
535
-      MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
536
-  fi
537
-
538
-  apt-get -y --force-yes install gnupg
539
-
540
-  if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then
541
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
542
-  fi
543
-
544
-  # if the above fails because the key has an unexpected email address
545
-  if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then
546
-      # copy the whole keyring from the user
547
-      cp -r /home/$MY_USERNAME/.gnupg /root
548
-      # get the first entry, which we assume to be the imported key
549
-      MY_GPG_PUBLIC_KEY_ID=$(gpg --list-keys | grep "pub " | head -n 1 | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
550
-  else
551
-      # make sure that the root user has access to your gpg public key
552
-      if [ $MY_GPG_PUBLIC_KEY_ID ]; then
553
-          su -c "gpg --export-ownertrust > ~/temp_trust.txt" - $MY_USERNAME
554
-          su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
555
-          su -c "gpg --output ~/temp_private_key.txt --armor --export-secret-key $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
556
-          gpg --import-ownertrust < /home/$MY_USERNAME/temp_trust.txt
557
-          gpg --import $MY_GPG_PUBLIC_KEY
558
-          gpg --allow-secret-key-import --import /home/$MY_USERNAME/temp_private_key.txt
559
-          shred -zu /home/$MY_USERNAME/temp_private_key.txt
560
-          shred -zu /home/$MY_USERNAME/temp_trust.txt
561
-      fi
562
-  fi
563
-}
564
-
532
+# For rsyncrypto usage see http://archive09.linux.com/feature/125322
565
 function create_backup_script {
533
 function create_backup_script {
566
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
534
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
567
       return
535
       return
568
   fi
536
   fi
569
-  apt-get -y --force-yes install duplicity
570
-
571
-  import_gpg_key_to_root
537
+  apt-get -y --force-yes install rsyncrypto
572
 
538
 
573
   echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
539
   echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
574
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
540
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
575
-  echo 'GPG_KEY=$1' >> /usr/bin/$BACKUP_SCRIPT_NAME
576
-  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
577
-  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
578
-  echo "  if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
579
-  echo '    echo "You need to specify a GPG key ID with which to create the backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
580
-  echo '    exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
581
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
582
-  echo "  GPG_KEY='$MY_GPG_PUBLIC_KEY_ID'" >> /usr/bin/$BACKUP_SCRIPT_NAME
583
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
584
-  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
585
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
541
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
586
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
542
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
587
   echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
543
   echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
601
   echo '  exit 27' >> /usr/bin/$BACKUP_SCRIPT_NAME
557
   echo '  exit 27' >> /usr/bin/$BACKUP_SCRIPT_NAME
602
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
558
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
603
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
559
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
560
+  
561
+  echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
562
+  echo '    echo "Creating backup key"' >> /usr/bin/$BACKUP_SCRIPT_NAME
563
+  echo '    makecert backup' >> /usr/bin/$BACKUP_SCRIPT_NAME
564
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
565
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
566
+
567
+  echo "if [ ! -f $BACKUP_CERTIFICATE.gpg ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
568
+  echo '  echo "GPG encrypt the backup key"' >> /usr/bin/$BACKUP_SCRIPT_NAME
569
+  echo "  gpg -c $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
570
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
571
+  echo "cp $BACKUP_CERTIFICATE.gpg $USB_MOUNT/backup/key.gpg" >> /usr/bin/$BACKUP_SCRIPT_NAME
572
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
604
 
573
 
605
   echo '# Put some files into a temporary directory so that they can be easily backed up' >> /usr/bin/$BACKUP_SCRIPT_NAME
574
   echo '# Put some files into a temporary directory so that they can be easily backed up' >> /usr/bin/$BACKUP_SCRIPT_NAME
606
   echo "if [ ! -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
575
   echo "if [ ! -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
630
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
599
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
631
   fi
600
   fi
632
   echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
601
   echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
633
-  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 /root/backupkey /var/lib/mysql/mysql /var/www /etc/nginx/sites-available /etc/ssl/private /etc/ssl/certs $GITHUB_BACKUP_DIRECTORY /home/$MY_USERNAME/projects /home/$MY_USERNAME/personal /home/$MY_USERNAME/README" >> /usr/bin/$BACKUP_SCRIPT_NAME
602
+  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 /var/lib/mysql/mysql /etc/nginx/sites-available /home/$MY_USERNAME/README" >> /usr/bin/$BACKUP_SCRIPT_NAME
634
 
603
 
635
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
604
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
605
+  echo '# Backup certificates' >> /usr/bin/$BACKUP_SCRIPT_NAME
606
+  echo "if [ -d /etc/ssl ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
607
+  echo '  echo "Backing up certificates"' >> /usr/bin/$BACKUP_SCRIPT_NAME
608
+  echo "  if [ ! -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
609
+  echo "    mkdir -p $USB_MOUNT/backup/ssl" >> /usr/bin/$BACKUP_SCRIPT_NAME
610
+  echo "    touch $USB_MOUNT/ssl.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
611
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
612
+  echo "  rsyncrypto  -r /etc/ssl $USB_MOUNT/backup/ssl $USB_MOUNT/ssl.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
613
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
614
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
615
+  echo '# Backup projects' >> /usr/bin/$BACKUP_SCRIPT_NAME
616
+  echo "if [ -d /home/$MY_USERNAME/projects ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
617
+  echo '  echo "Backing up projects"' >> /usr/bin/$BACKUP_SCRIPT_NAME
618
+  echo "  if [ ! -d $USB_MOUNT/backup/projects ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
619
+  echo "    mkdir -p $USB_MOUNT/backup/projects" >> /usr/bin/$BACKUP_SCRIPT_NAME
620
+  echo "    touch $USB_MOUNT/projects.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
621
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
622
+  echo "  rsyncrypto  -r /home/$MY_USERNAME/projects $USB_MOUNT/backup/projects $USB_MOUNT/projects.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
623
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
624
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
625
+  echo '# Backup personal settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
626
+  echo "if [ -d /home/$MY_USERNAME/personal ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
627
+  echo '  echo "Backing up personal settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
628
+  echo "  if [ ! -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
629
+  echo "    mkdir -p $USB_MOUNT/backup/personal" >> /usr/bin/$BACKUP_SCRIPT_NAME
630
+  echo "    touch $USB_MOUNT/personal.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
631
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
632
+  echo "  rsyncrypto  -r /home/$MY_USERNAME/personal $USB_MOUNT/backup/personal $USB_MOUNT/personal.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
633
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
634
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
636
   echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_SCRIPT_NAME
635
   echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_SCRIPT_NAME
637
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
636
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
638
   echo '  echo "Backing up the public mailing list"' >> /usr/bin/$BACKUP_SCRIPT_NAME
637
   echo '  echo "Backing up the public mailing list"' >> /usr/bin/$BACKUP_SCRIPT_NAME
639
-  echo -n '  duplicity full --encrypt-key $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_SCRIPT_NAME
640
-  echo "$PUBLIC_MAILING_LIST_DIRECTORY file://$USB_MOUNT/backup/publicmailinglist" >> /usr/bin/$BACKUP_SCRIPT_NAME
638
+  echo "  if [ ! -d $USB_MOUNT/backup/mailinglist ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
639
+  echo "    mkdir -p $USB_MOUNT/backup/mailinglist" >> /usr/bin/$BACKUP_SCRIPT_NAME
640
+  echo "    touch $USB_MOUNT/mailinglist.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
641
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
642
+  echo "  rsyncrypto  -r $PUBLIC_MAILING_LIST_DIRECTORY $USB_MOUNT/backup/mailinglist $USB_MOUNT/mailinglist.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
641
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
643
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
642
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
644
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
643
   echo '# Backup xmpp settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
645
   echo '# Backup xmpp settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
644
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
646
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
645
   echo '  echo "Backing up the XMPP settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
647
   echo '  echo "Backing up the XMPP settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
646
-  echo -n '  duplicity full --encrypt-key $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_SCRIPT_NAME
647
-  echo "$XMPP_DIRECTORY file://$USB_MOUNT/backup/xmpp" >> /usr/bin/$BACKUP_SCRIPT_NAME
648
+  echo "  if [ ! -d $USB_MOUNT/backup/xmpp ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
649
+  echo "    mkdir -p $USB_MOUNT/backup/xmpp" >> /usr/bin/$BACKUP_SCRIPT_NAME
650
+  echo "    touch $USB_MOUNT/xmpp.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
651
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
652
+  echo "  rsyncrypto  -r $XMPP_DIRECTORY $USB_MOUNT/backup/xmpp $USB_MOUNT/xmpp.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
648
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
653
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
649
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
654
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
650
-  echo '# Backup web content and other stuff' >> /usr/bin/$BACKUP_SCRIPT_NAME
655
+  #echo '# Backup web content' >> /usr/bin/$BACKUP_SCRIPT_NAME
656
+  #echo 'echo "Backing up web content"' >> /usr/bin/$BACKUP_SCRIPT_NAME
657
+  #echo "if [ ! -d $USB_MOUNT/backup/www ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
658
+  #echo "  mkdir -p $USB_MOUNT/backup/www" >> /usr/bin/$BACKUP_SCRIPT_NAME
659
+  #echo "  touch $USB_MOUNT/www.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
660
+  #echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
661
+  #echo "rsyncrypto  -r /var/www $USB_MOUNT/backup/www $USB_MOUNT/www.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
662
+  #echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
663
+  echo '# Backup other stuff' >> /usr/bin/$BACKUP_SCRIPT_NAME
651
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
664
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
652
-  echo '  echo "Backing up web content and miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
653
-  echo -n '  duplicity full --encrypt-key $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_SCRIPT_NAME
654
-  echo "/home/$MY_USERNAME/tempfiles file://$USB_MOUNT/backup/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
665
+  echo '  echo "Backing up miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
666
+  echo "  if [ ! -d $USB_MOUNT/backup/misc ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
667
+  echo "    mkdir -p $USB_MOUNT/backup/misc" >> /usr/bin/$BACKUP_SCRIPT_NAME
668
+  echo "    touch $USB_MOUNT/misc.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
669
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
670
+  echo "  rsyncrypto  -r /home/$MY_USERNAME/tempfiles $USB_MOUNT/backup/misc $USB_MOUNT/misc.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
655
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
671
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
656
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
672
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
657
   echo '# Backup email' >> /usr/bin/$BACKUP_SCRIPT_NAME
673
   echo '# Backup email' >> /usr/bin/$BACKUP_SCRIPT_NAME
658
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
674
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
659
   echo '  echo "Backing up emails"' >> /usr/bin/$BACKUP_SCRIPT_NAME
675
   echo '  echo "Backing up emails"' >> /usr/bin/$BACKUP_SCRIPT_NAME
660
-  echo -n '  duplicity full --encrypt-key $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_SCRIPT_NAME
661
-  echo "/home/$MY_USERNAME/Maildir file://$USB_MOUNT/backup/Maildir" >> /usr/bin/$BACKUP_SCRIPT_NAME
676
+  echo "  if [ ! -d $USB_MOUNT/backup/mail ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
677
+  echo "    mkdir -p $USB_MOUNT/backup/mail" >> /usr/bin/$BACKUP_SCRIPT_NAME
678
+  echo "    touch $USB_MOUNT/mail.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
679
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
680
+  echo "  rsyncrypto  -r /home/$MY_USERNAME/Maildir $USB_MOUNT/backup/mail $USB_MOUNT/mail.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
662
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
681
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
663
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
682
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
664
   echo '# Backup DLNA cache' >> /usr/bin/$BACKUP_SCRIPT_NAME
683
   echo '# Backup DLNA cache' >> /usr/bin/$BACKUP_SCRIPT_NAME
665
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
684
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
666
   echo '  echo "Backing up DLNA cache"' >> /usr/bin/$BACKUP_SCRIPT_NAME
685
   echo '  echo "Backing up DLNA cache"' >> /usr/bin/$BACKUP_SCRIPT_NAME
667
-  echo -n '  duplicity full --encrypt-key $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_SCRIPT_NAME
668
-  echo "/var/cache/minidlna file://$USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
669
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
670
-
671
-  echo 'echo "Cleaning up backup files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
672
-  echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
673
-  echo "  duplicity full --force cleanup file://$USB_MOUNT/backup/Maildir" >> /usr/bin/$BACKUP_SCRIPT_NAME
674
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
675
-  echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
676
-  echo "  duplicity full --force cleanup file://$USB_MOUNT/backup/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
677
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
678
-  echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
679
-  echo "  duplicity full --force cleanup file://$USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
680
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
681
-  echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
682
-  echo "  duplicity full --force cleanup file://$USB_MOUNT/backup/xmpp" >> /usr/bin/$BACKUP_SCRIPT_NAME
683
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
684
-  echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
685
-  echo "  duplicity full --force cleanup file://$USB_MOUNT/backup/publicmailinglist" >> /usr/bin/$BACKUP_SCRIPT_NAME
686
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
687
-
688
-  echo 'echo "Removing old backups"' >> /usr/bin/$BACKUP_SCRIPT_NAME
689
-  echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
690
-  echo "  duplicity --force remove-all-but-n-full 3 file://$USB_MOUNT/backup/Maildir" >> /usr/bin/$BACKUP_SCRIPT_NAME
691
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
692
-  echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
693
-  echo "  duplicity --force remove-all-but-n-full 3 file://$USB_MOUNT/backup/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
694
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
695
-  echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
696
-  echo "  duplicity --force remove-all-but-n-full 3 file://$USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
697
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
698
-  echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
699
-  echo "  duplicity --force remove-all-but-n-full 3 file://$USB_MOUNT/backup/xmpp" >> /usr/bin/$BACKUP_SCRIPT_NAME
700
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
701
-  echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
702
-  echo "  duplicity --force remove-all-but-n-full 3 file://$USB_MOUNT/backup/publicmailinglist" >> /usr/bin/$BACKUP_SCRIPT_NAME
686
+  echo "  if [ ! -d $USB_MOUNT/backup/dlna ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
687
+  echo "    mkdir -p $USB_MOUNT/backup/dlna" >> /usr/bin/$BACKUP_SCRIPT_NAME
688
+  echo "    touch $USB_MOUNT/dlna.keys" >> /usr/bin/$BACKUP_SCRIPT_NAME
689
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
690
+  echo "  rsyncrypto  -r /var/cache/minidlna $USB_MOUNT/backup/dlna $USB_MOUNT/dlna.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
703
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
691
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
704
 
692
 
705
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
693
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
723
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
711
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
724
       return
712
       return
725
   fi
713
   fi
726
-  apt-get -y --force-yes install duplicity
727
-
728
-  import_gpg_key_to_root
714
+  apt-get -y --force-yes install rsyncrypto
729
 
715
 
730
   echo '#!/bin/bash' > /usr/bin/$RESTORE_SCRIPT_NAME
716
   echo '#!/bin/bash' > /usr/bin/$RESTORE_SCRIPT_NAME
731
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
717
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
732
-  echo 'GPG_KEY=$1' >> /usr/bin/$RESTORE_SCRIPT_NAME
733
-  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
734
-  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
735
-  echo "  if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
736
-  echo '    echo "You need to specify a GPG key ID with which to restore from backup"' >> /usr/bin/$RESTORE_SCRIPT_NAME
737
-  echo '    exit 1' >> /usr/bin/$RESTORE_SCRIPT_NAME
738
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
739
-  echo "  GPG_KEY='$MY_GPG_PUBLIC_KEY_ID'" >> /usr/bin/$RESTORE_SCRIPT_NAME
740
-  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
741
-  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
742
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
718
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
743
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$RESTORE_SCRIPT_NAME
719
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$RESTORE_SCRIPT_NAME
744
   echo '  exit 1' >> /usr/bin/$RESTORE_SCRIPT_NAME
720
   echo '  exit 1' >> /usr/bin/$RESTORE_SCRIPT_NAME
754
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
730
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
755
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
731
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
756
 
732
 
733
+  echo "if [ -f $USB_MOUNT/backup/key.gpg ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
734
+  echo "  if [ -f $BACKUP_CERTIFICATE.new ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
735
+  echo "    rm $BACKUP_CERTIFICATE.new" >> /usr/bin/$RESTORE_SCRIPT_NAME
736
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
737
+  echo "  gpg $USB_MOUNT/backup/key.gpg -o $BACKUP_CERTIFICATE.new" >> /usr/bin/$RESTORE_SCRIPT_NAME
738
+  echo "  if [ -f $BACKUP_CERTIFICATE.new ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
739
+  echo '    echo "Backup key decrypted"' >> /usr/bin/$RESTORE_SCRIPT_NAME
740
+  echo "    mv $BACKUP_CERTIFICATE.new $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
741
+  echo '  else' >> /usr/bin/$RESTORE_SCRIPT_NAME
742
+  echo '    echo "Unable to decrypt the backup key"' >> /usr/bin/$RESTORE_SCRIPT_NAME
743
+  echo '    exit 735' >> /usr/bin/$RESTORE_SCRIPT_NAME
744
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
745
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
746
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
747
+
748
+  echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
749
+  echo "    echo 'No backup key was found. Copy your backup key to $BACKUP_CERTIFICATE'" >> /usr/bin/$RESTORE_SCRIPT_NAME
750
+  echo '    exit 563' >> /usr/bin/$RESTORE_SCRIPT_NAME
751
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
752
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
753
+  
754
+  echo "if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
755
+  echo '  echo "Restoring certificates"' >> /usr/bin/$RESTORE_SCRIPT_NAME
756
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/ssl /etc/ssl $USB_MOUNT/ssl.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
757
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
758
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
759
+
760
+  echo "if [ -d $USB_MOUNT/backup/projects ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
761
+  echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_SCRIPT_NAME
762
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/projects /home/$MY_USERNAME/projects $USB_MOUNT/projects.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
763
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
764
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
765
+
766
+  echo "if [ -d $USB_MOUNT/backup/personal ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
767
+  echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
768
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/personal /home/$MY_USERNAME/personal $USB_MOUNT/personal.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
769
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
770
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
771
+
757
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
772
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
758
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_SCRIPT_NAME
773
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_SCRIPT_NAME
759
-  echo "  duplicity --force file://$USB_MOUNT/backup/publicmailinglist $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
774
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/mailinglist $PUBLIC_MAILING_LIST_DIRECTORY $USB_MOUNT/mailinglist.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
760
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
775
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
776
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
761
 
777
 
762
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
778
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
763
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
779
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
764
-  echo "  duplicity --force file://$USB_MOUNT/backup/xmpp $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_SCRIPT_NAME
780
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/xmpp $XMPP_DIRECTORY $USB_MOUNT/xmpp.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
765
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
781
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
782
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
766
 
783
 
767
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
784
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
768
   echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_SCRIPT_NAME
785
   echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_SCRIPT_NAME
769
   echo 'else' >> /usr/bin/$RESTORE_SCRIPT_NAME
786
   echo 'else' >> /usr/bin/$RESTORE_SCRIPT_NAME
770
-  echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
787
+  echo "  mkdir -p /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
771
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
788
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
772
-  echo 'echo "Restoring web content and miscellaneous files"' >> /usr/bin/$RESTORE_SCRIPT_NAME
773
-  echo "duplicity --force file://$USB_MOUNT/backup/tempfiles /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
789
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
790
+
791
+  #echo 'echo "Restoring web content"' >> /usr/bin/$RESTORE_SCRIPT_NAME
792
+  #echo "rsyncrypto -d -r $USB_MOUNT/backup/www /var/www $USB_MOUNT/www.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
793
+  #echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
794
+
795
+  echo 'echo "Restoring miscellaneous files"' >> /usr/bin/$RESTORE_SCRIPT_NAME
796
+  echo "rsyncrypto -d -r $USB_MOUNT/backup/misc /home/$MY_USERNAME/tempfiles $USB_MOUNT/misc.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
774
   echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
797
   echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
798
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
775
 
799
 
776
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
800
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
777
       echo "if [ -f /home/$MY_USERNAME/tempfiles/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
801
       echo "if [ -f /home/$MY_USERNAME/tempfiles/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
779
       echo "  mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
803
       echo "  mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
780
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/gnusocial.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
804
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/gnusocial.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
781
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
805
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
806
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
782
   fi
807
   fi
783
 
808
 
784
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
809
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
787
       echo "  mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
812
       echo "  mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
788
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/redmatrix.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
813
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/redmatrix.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
789
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
814
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
815
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
790
   fi
816
   fi
791
 
817
 
792
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
818
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
796
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
822
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
797
       echo "  mysql -u root --password=$MARIADB_PASSWORD owncloud -o < /home/$MY_USERNAME/tempfiles/owncloud.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
823
       echo "  mysql -u root --password=$MARIADB_PASSWORD owncloud -o < /home/$MY_USERNAME/tempfiles/owncloud.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
798
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
824
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
825
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
799
   fi
826
   fi
800
 
827
 
801
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
828
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
803
       echo '  echo "Restoring Wiki"' >> /usr/bin/$RESTORE_SCRIPT_NAME
830
       echo '  echo "Restoring Wiki"' >> /usr/bin/$RESTORE_SCRIPT_NAME
804
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
831
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
805
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
832
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
833
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
806
   fi
834
   fi
807
 
835
 
808
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
836
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
810
       echo '  echo "Restoring blog"' >> /usr/bin/$RESTORE_SCRIPT_NAME
838
       echo '  echo "Restoring blog"' >> /usr/bin/$RESTORE_SCRIPT_NAME
811
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/blog.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
839
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/blog.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
812
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
840
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
841
+      echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
813
   fi
842
   fi
814
 
843
 
815
   echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
844
   echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
845
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
816
 
846
 
817
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
847
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
818
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
848
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
819
-  echo "  duplicity --force file://$USB_MOUNT/backup/Maildir /home/$MY_USERNAME/Maildir" >> /usr/bin/$RESTORE_SCRIPT_NAME
849
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/mail /home/$MY_USERNAME/Maildir $USB_MOUNT/mail.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
820
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
850
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
851
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
821
 
852
 
822
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
853
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
823
   echo '  echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_SCRIPT_NAME
854
   echo '  echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_SCRIPT_NAME
824
-  echo "  duplicity --force file://$USB_MOUNT/backup/dlna /var/cache/minidlna" >> /usr/bin/$RESTORE_SCRIPT_NAME
855
+  echo "  rsyncrypto -d -r $USB_MOUNT/backup/dlna /var/cache/minidlna $USB_MOUNT/dlna.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
825
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
856
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
857
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
826
 
858
 
827
   echo 'sync' >> /usr/bin/$RESTORE_SCRIPT_NAME
859
   echo 'sync' >> /usr/bin/$RESTORE_SCRIPT_NAME
828
   echo "umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
860
   echo "umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
865
   echo '#!/bin/bash' > /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
897
   echo '#!/bin/bash' > /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
866
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
898
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
867
 
899
 
868
-  echo '# Generate an ssh key used for encrypting backups' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
869
-  echo "if [ ! -f /root/backupkey ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
870
-  echo '  ssh-keygen -t rsa -f /root/backupkey -q -N ""' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
871
-  echo '  sed -i "s/-----BEGIN RSA PRIVATE KEY-----//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
872
-  echo '  sed -i "s/-----END RSA PRIVATE KEY-----//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
873
-  echo '  sed -i "s/==//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
874
-  echo '  chmod 400 /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
875
-  echo '  rm /root/backupkey.pub' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
900
+  echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
901
+  echo '    echo "Creating backup key"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
902
+  echo '    makecert backup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
876
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
903
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
877
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
904
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
878
 
905
 
879
-  echo '# Passphrase is the ssh private key' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
880
-  echo 'PASSPHRASE=$(</root/backupkey)' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
881
-  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
882
   echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
906
   echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
883
   echo '    exit 1' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
907
   echo '    exit 1' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
884
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
908
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
913
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
937
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
914
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
938
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
915
   fi
939
   fi
916
-  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 /root/backupkey /var/lib/mysql/mysql /var/www /etc/nginx/sites-available /etc/ssl/private /etc/ssl/certs $GITHUB_BACKUP_DIRECTORY /home/$MY_USERNAME/projects /home/$MY_USERNAME/personal /home/$MY_USERNAME/README" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
940
+  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 /var/lib/mysql/mysql /var/www /etc/nginx/sites-available /home/$MY_USERNAME/README" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
917
 
941
 
918
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
942
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
919
   echo 'while read remote_server' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
943
   echo 'while read remote_server' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
922
   echo '  SERVER="scp://${* %%remote_server}"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
946
   echo '  SERVER="scp://${* %%remote_server}"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
923
   echo '  FTP_PASSWORD="${remote_server%% *}"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
947
   echo '  FTP_PASSWORD="${remote_server%% *}"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
924
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
948
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
949
+
950
+  echo '  # Backup certificates' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
951
+  echo "  if [ -d /etc/ssl ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
952
+  echo '    echo "Backing up certificates"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
953
+  echo "    if [ ! -d $SEVER/backup/ssl ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
954
+  echo "      mkdir -p $SERVER/backup/certs" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
955
+  echo "      mkdir -p $SERVER/keys/certs" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
956
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
957
+  echo "    rsyncrypto  -r /etc/ssl $SERVER/backup/ssl $SERVER/keys/ssl $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
958
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
959
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
960
+
961
+  echo '  # Backup projects' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
962
+  echo   "if [ -d /home/$MY_USERNAME/projects ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
963
+  echo '    echo "Backing up projects"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
964
+  echo "    if [ ! -d $SERVER/backup/projects ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
965
+  echo "      mkdir -p $SERVER/backup/projects" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
966
+  echo "      mkdir -p $SERVER/keys/projects" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
967
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
968
+  echo "    rsyncrypto  -r /home/$MY_USERNAME/projects $SERVER/backup/projects $SERVER/keys/projects $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
969
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
970
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
971
+
972
+  echo '  # Backup personal settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
973
+  echo "  if [ -d /home/$MY_USERNAME/personal ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
974
+  echo '    echo "Backing up personal settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
975
+  echo "    if [ ! -d $SERVER/backup/personal ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
976
+  echo "      mkdir -p $SERVER/backup/personal" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
977
+  echo "      mkdir -p $SERVER/keys/personal" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
978
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
979
+  echo "    rsyncrypto  -r /home/$MY_USERNAME/personal $SERVER/backup/personal $SERVER/keys/personal $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
980
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
981
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
982
+
925
   echo '  # Backup the public mailing list' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
983
   echo '  # Backup the public mailing list' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
926
   echo "  if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
984
   echo "  if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
927
-  echo -n '    duplicity full --ssh-askpass --exclude-other-filesystems ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
928
-  echo "$PUBLIC_MAILING_LIST_DIRECTORY $SERVER/publicmailinglist" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
985
+  echo '    echo "Backing up the public mailing list"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
986
+  echo "    if [ ! -d $SERVER/backup/mailinglist ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
987
+  echo "      mkdir -p $SERVER/backup/mailinglist" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
988
+  echo "      mkdir -p $SERVER/keys/mailinglist" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
989
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
990
+  echo "    rsyncrypto  -r $PUBLIC_MAILING_LIST_DIRECTORY $SERVER/backup/mailinglist $SERVER/keys/mailinglist $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
929
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
991
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
930
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
992
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
993
+
931
   echo '  # Backup xmpp settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
994
   echo '  # Backup xmpp settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
932
   echo "  if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
995
   echo "  if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
933
-  echo -n '    duplicity full --ssh-askpass --exclude-other-filesystems ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
934
-  echo "$XMPP_DIRECTORY $SERVER/xmpp" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
996
+  echo '    echo "Backing up the XMPP settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
997
+  echo "    if [ ! -d $SERVER/backup/xmpp ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
998
+  echo "      mkdir -p $SERVER/backup/xmpp" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
999
+  echo "      mkdir -p $SERVER/keys/xmpp" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1000
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1001
+  echo "    rsyncrypto  -r $XMPP_DIRECTORY $SERVER/backup/xmpp $SERVER/keys/xmpp $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
935
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1002
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
936
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1003
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
937
-  echo '  # Backup web content and other stuff' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1004
+
1005
+  #echo '# Backup web content' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1006
+  #echo '  echo "Backing up web content"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1007
+  #echo "  if [ ! -d $SERVER/backup/www ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1008
+  #echo "    mkdir -p $SERVER/backup/www" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1009
+  #echo "    mkdir -p $SERVER/keys/www" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1010
+  #echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1011
+  #echo "  rsyncrypto  -r /var/www $SERVER/backup/www $SERVER/keys/www $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1012
+  #echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1013
+
1014
+  echo '  # Backup miscellaneous stuff' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
938
   echo "  if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1015
   echo "  if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
939
-  echo -n '    duplicity full --ssh-askpass --exclude-other-filesystems ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
940
-  echo "/home/$MY_USERNAME/tempfiles $SERVER/tempfiles" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1016
+  echo '    echo "Backing up miscellaneous files"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1017
+  echo "    if [ ! -d $SERVER/backup/misc ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1018
+  echo "      mkdir -p $SERVER/backup/misc" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1019
+  echo "      mkdir -p $SERVER/keys/misc" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1020
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1021
+  echo "    rsyncrypto  -r /home/$MY_USERNAME/tempfiles $SERVER/backup/misc $SERVER/keys/misc $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
941
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1022
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
942
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1023
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1024
+
943
   echo '  # Backup email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1025
   echo '  # Backup email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
944
   echo "  if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1026
   echo "  if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
945
-  echo -n '    duplicity full --ssh-askpass $GPG_KEY --exclude-other-filesystems ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
946
-  echo "/home/$MY_USERNAME/Maildir $SERVER/Maildir" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1027
+  echo '    echo "Backing up emails"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1028
+  echo "    if [ ! -d $SERVER/backup/mail ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1029
+  echo "      mkdir -p $SERVER/backup/mail" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1030
+  echo "      mkdir -p $SERVER/keys/mail" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1031
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1032
+  echo "    rsyncrypto  -r /home/$MY_USERNAME/Maildir $SERVER/backup/mail $SERVER/keys/mail $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
947
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1033
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
948
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1034
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1035
+
949
   echo '  # Backup DLNA cache' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1036
   echo '  # Backup DLNA cache' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
950
   echo "  if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1037
   echo "  if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
951
-  echo -n '    duplicity full --ssh-askpass --exclude-other-filesystems ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
952
-  echo "/var/cache/minidlna $SERVER/dlna" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
953
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
954
-  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
955
-  echo '  echo "Cleaning up backup files"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
956
-  echo "  if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
957
-  echo "    duplicity full --ssh-askpass --force cleanup $SERVER/Maildir" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
958
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
959
-  echo "  if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
960
-  echo "    duplicity full --ssh-askpass --force cleanup $SERVER/tempfiles" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
961
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
962
-  echo "  if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
963
-  echo "    duplicity full --ssh-askpass --force cleanup $SERVER/dlna" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
964
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
965
-  echo "  if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
966
-  echo "    duplicity full --ssh-askpass --force cleanup $SERVER/xmpp" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
967
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
968
-  echo "  if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
969
-  echo "    duplicity full --ssh-askpass --force cleanup $SERVER/publicmailinglist" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
970
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
971
-  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
972
-  echo '  echo "Removing old backups"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
973
-  echo "  if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
974
-  echo "    duplicity --ssh-askpass --force remove-all-but-n-full 3 $SERVER/Maildir" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
975
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
976
-  echo "  if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
977
-  echo "    duplicity --ssh-askpass --force remove-all-but-n-full 3
978
-3 $SERVER/tempfiles" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
979
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
980
-  echo "  if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
981
-  echo "    duplicity --ssh-askpass --force remove-all-but-n-full 3 $SERVER/dlna" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
982
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
983
-  echo "  if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
984
-  echo "    duplicity --ssh-askpass --force remove-all-but-n-full 3 $SERVER/xmpp" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
985
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
986
-  echo "  if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
987
-  echo "    duplicity --ssh-askpass --force remove-all-but-n-full 3 $SERVER/publicmailinglist" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1038
+  echo '    echo "Backing up DLNA cache"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1039
+  echo "    if [ ! -d $SERVER/backup/dlna ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1040
+  echo "      mkdir -p $SERVER/backup/dlna" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1041
+  echo "      mkdir -p $SERVER/keys/dlna" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1042
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1043
+  echo "    rsyncrypto  -r /var/cache/minidlna $SERVER/backup/dlna $SERVER/keys/dlna $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
988
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1044
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1045
+
989
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1046
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
990
   echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1047
   echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
991
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1048
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
1057
   echo "$FRIENDS_SERVERS_LIST | awk -F ' ' '{print $2}')" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1114
   echo "$FRIENDS_SERVERS_LIST | awk -F ' ' '{print $2}')" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1058
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1115
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1059
 
1116
 
1117
+  echo 'echo "Restoring certificates"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1118
+  echo "rsyncrypto -d -r scp://$SERVER/backup/ssl /etc/ssl scp://$SERVER/keys/ssl $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1119
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1120
+
1121
+  echo 'echo "Restoring projects"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1122
+  echo "rsyncrypto -d -r scp://$SERVER/backup/projects /home/$MY_USERNAME/projects scp://$SERVER/keys/projects $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1123
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1124
+
1125
+  echo 'echo "Restoring personal settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1126
+  echo "rsyncrypto -d -r scp://$SERVER/backup/personal /home/$MY_USERNAME/personal scp://$SERVER/keys/personal $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1127
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1128
+
1060
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1129
   echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1061
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1130
   echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1062
-  echo "  duplicity --force scp://$SERVER/publicmailinglist $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1131
+  echo "  rsyncrypto -d -r scp://$SERVER/backup/mailinglist $PUBLIC_MAILING_LIST_DIRECTORY scp://$SERVER/keys/mailinglist $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1063
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1132
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1133
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1064
 
1134
 
1065
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1135
   echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1066
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1136
   echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1067
-  echo "  duplicity --force scp://$SERVER/xmpp $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1137
+  echo "  rsyncrypto -d -r scp://$SERVER/backup/xmpp $XMPP_DIRECTORY scp://$SERVER/keys/xmpp $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1068
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1138
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1139
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1069
 
1140
 
1070
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1141
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1071
   echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1142
   echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1072
   echo 'else' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1143
   echo 'else' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1073
-  echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1144
+  echo "  mkdir -p /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1074
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1145
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1075
-  echo 'echo "Restoring web content and miscellaneous files"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1076
-  echo "duplicity --force scp://$SERVER/tempfiles /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1146
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1147
+
1148
+  #echo 'echo "Restoring web content"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1149
+  #echo "rsyncrypto -d -r scp://$SERVER/backup/www /var/www scp://$SERVER/keys/www $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1150
+  #echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1151
+
1152
+  echo 'echo "Restoring miscellaneous files"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1153
+  echo "rsyncrypto -d -r scp://$SERVER/backup/misc /home/$MY_USERNAME/tempfiles scp://$SERVER/keys/misc $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1077
   echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1154
   echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1155
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1078
 
1156
 
1079
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
1157
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
1080
       echo "if [ -f /home/$MY_USERNAME/tempfiles/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1158
       echo "if [ -f /home/$MY_USERNAME/tempfiles/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1082
       echo "  mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1160
       echo "  mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1083
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/gnusocial.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1161
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/gnusocial.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1084
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1162
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1163
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1085
   fi
1164
   fi
1086
 
1165
 
1087
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
1166
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
1090
       echo "  mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1169
       echo "  mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1091
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/redmatrix.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1170
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/redmatrix.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1092
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1171
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1172
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1093
   fi
1173
   fi
1094
 
1174
 
1095
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
1175
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
1099
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1179
       echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1100
       echo "  mysql -u root --password=$MARIADB_PASSWORD owncloud -o < /home/$MY_USERNAME/tempfiles/owncloud.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1180
       echo "  mysql -u root --password=$MARIADB_PASSWORD owncloud -o < /home/$MY_USERNAME/tempfiles/owncloud.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1101
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1181
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1182
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1102
   fi
1183
   fi
1103
 
1184
 
1104
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
1185
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
1106
       echo '  echo "Restoring Wiki"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1187
       echo '  echo "Restoring Wiki"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1107
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1188
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1108
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1189
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1190
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1109
   fi
1191
   fi
1110
 
1192
 
1111
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
1193
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
1112
       echo "if [ -f /home/$MY_USERNAME/tempfiles/blog.tar.gz ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1194
       echo "if [ -f /home/$MY_USERNAME/tempfiles/blog.tar.gz ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1113
-      echo '  echo "Restoring Blog"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1195
+      echo '  echo "Restoring blog"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1114
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/blog.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1196
       echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/blog.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1115
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1197
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1198
+      echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1116
   fi
1199
   fi
1117
 
1200
 
1118
   echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1201
   echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1202
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1119
 
1203
 
1120
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1204
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1121
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1205
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1122
-  echo "  duplicity --force scp://$SERVER/Maildir /home/$MY_USERNAME/Maildir" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1206
+  echo "  rsyncrypto -d -r scp://$SERVER/backup/mail /home/$MY_USERNAME/Maildir scp://$SERVER/keys/mail $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1123
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1207
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1208
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1124
 
1209
 
1125
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1210
   echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1126
   echo '  echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1211
   echo '  echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1127
-  echo "  duplicity --force scp://$SERVER/dlna /var/cache/minidlna" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1212
+  echo "  rsyncrypto -d -r scp://$SERVER/backup/dlna /var/cache/minidlna scp://$SERVER/keys/dlna $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1128
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1213
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1214
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1215
+
1216
+  if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
1217
+      echo "if [ -f /home/$MY_USERNAME/tempfiles/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1218
+      echo '  echo "Restoring microblog database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1219
+      echo "  mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1220
+      echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/gnusocial.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1221
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1222
+  fi
1223
+
1224
+  if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
1225
+      echo "if [ -f /home/$MY_USERNAME/tempfiles/redmatrix.sql ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1226
+      echo '  echo "Restoring Red Matrix database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1227
+      echo "  mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1228
+      echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/redmatrix.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1229
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1230
+  fi
1231
+
1232
+  if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
1233
+      echo "if [ -f /home/$MY_USERNAME/tempfiles/owncloud.tar.gz ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1234
+      echo '  echo "Restoring Owncloud"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1235
+      echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/owncloud.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1236
+      echo '  echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1237
+      echo "  mysql -u root --password=$MARIADB_PASSWORD owncloud -o < /home/$MY_USERNAME/tempfiles/owncloud.sql" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1238
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1239
+  fi
1240
+
1241
+  if grep -Fxq "install_wiki" $COMPLETION_FILE; then
1242
+      echo "if [ -f /home/$MY_USERNAME/tempfiles/wiki.tar.gz ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1243
+      echo '  echo "Restoring Wiki"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1244
+      echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1245
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1246
+  fi
1247
+
1248
+  if grep -Fxq "install_blog" $COMPLETION_FILE; then
1249
+      echo "if [ -f /home/$MY_USERNAME/tempfiles/blog.tar.gz ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1250
+      echo '  echo "Restoring Blog"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1251
+      echo "  tar -xzvf /home/$MY_USERNAME/tempfiles/blog.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1252
+      echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1253
+  fi
1254
+
1255
+  echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1129
 
1256
 
1130
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1257
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1131
   echo 'exit 0' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
1258
   echo 'exit 0' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME