Bläddra i källkod

Fixing quotes

Bob Mottram 10 år sedan
förälder
incheckning
6caaf8ae11
1 ändrade filer med 82 tillägg och 6 borttagningar
  1. 82
    6
      install-freedombone.sh

+ 82
- 6
install-freedombone.sh Visa fil

@@ -202,6 +202,9 @@ BACKUP_SCRIPT_NAME="backup"
202 202
 # name of a script used to backup to friends servers
203 203
 BACKUP_TO_FRIENDS_SCRIPT_NAME="backup2friends"
204 204
 
205
+# name of a script used to restore backed up data from a friend
206
+RESTORE_FROM_FRIEND_SCRIPT_NAME="restorefromfriend"
207
+
205 208
 # passphrase used for automatic backups to friends servers
206 209
 # this will be automatically generated
207 210
 BACKUP_TO_FRIENDS_PASSPHRASE=
@@ -470,7 +473,7 @@ function create_backup_script {
470 473
   echo "  rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
471 474
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
472 475
   echo 'sync' >> /usr/bin/$BACKUP_SCRIPT_NAME
473
-  echo 'umount $USB_MOUNT' >> /usr/bin/$BACKUP_SCRIPT_NAME
476
+  echo "umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
474 477
   echo 'echo "Backup to USB drive is complete. You can now unplug it."' >> /usr/bin/$BACKUP_SCRIPT_NAME
475 478
   echo 'exit 0' >> /usr/bin/$BACKUP_SCRIPT_NAME
476 479
 
@@ -523,14 +526,14 @@ function create_restore_script {
523 526
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
524 527
 
525 528
   echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
526
-  echo '  rm -rf /home/$MY_USERNAME/tempfiles/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
529
+  echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_SCRIPT_NAME
527 530
   echo 'else' >> /usr/bin/$RESTORE_SCRIPT_NAME
528
-  echo '  mkdir /home/$MY_USERNAME/tempfiles' >> /usr/bin/$RESTORE_SCRIPT_NAME
531
+  echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
529 532
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
530 533
   echo 'echo "Restoring web content and miscellaneous files"' >> /usr/bin/$RESTORE_SCRIPT_NAME
531 534
   echo "duplicity --force file://$USB_MOUNT/backup/tempfiles /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
532
-  echo 'tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /' >> /usr/bin/$RESTORE_SCRIPT_NAME
533
-  echo 'rm -rf /home/$MY_USERNAME/tempfiles' >> /usr/bin/$RESTORE_SCRIPT_NAME
535
+  echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
536
+  echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
534 537
 
535 538
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
536 539
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -543,7 +546,7 @@ function create_restore_script {
543 546
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
544 547
 
545 548
   echo 'sync' >> /usr/bin/$RESTORE_SCRIPT_NAME
546
-  echo 'umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
549
+  echo "umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
547 550
   echo 'echo "Restore from USB drive is complete. You can now remove it."' >> /usr/bin/$RESTORE_SCRIPT_NAME
548 551
   echo 'exit 0' >> /usr/bin/$RESTORE_SCRIPT_NAME
549 552
 
@@ -702,6 +705,78 @@ function backup_to_friends_servers {
702 705
   echo 'backup_to_friends_servers' >> $COMPLETION_FILE
703 706
 }
704 707
 
708
+function restore_from_friend {
709
+  if grep -Fxq "restore_from_friend" $COMPLETION_FILE; then
710
+      return
711
+  fi
712
+
713
+  if [ ! $BACKUP_TO_FRIENDS_PASSPHRASE ]; then
714
+      BACKUP_TO_FRIENDS_PASSPHRASE=$(openssl rand -base64 32)
715
+  fi
716
+
717
+  echo '#!/bin/bash' > /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
718
+  echo 'SERVER_NAME=$1' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
719
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
720
+  echo "PASSPHRASE='$BACKUP_TO_FRIENDS_PASSPHRASE'" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
721
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
722
+  echo 'if [ ! $SERVER_NAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
723
+  echo "    echo '$RESTORE_FROM_FRIEND_SCRIPT_NAME [server]'" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
724
+  echo '    exit 1' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
725
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
726
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
727
+  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
728
+  echo "    echo 'No friends list found at $FRIENDS_SERVERS_LIST'" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
729
+  echo '    exit 2' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
730
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
731
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
732
+  echo -n 'if ! grep -q "$SERVER_NAME" ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
733
+  echo "$FRIENDS_SERVERS_LIST; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
734
+  echo '    echo "Server not found within the friends list"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
735
+  echo '    exit 3' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
736
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
737
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
738
+  echo -n 'SERVER=$(grep -i "$SERVER_NAME" ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
739
+  echo "$FRIENDS_SERVERS_LIST | awk -F ' ' '{print $1}')" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
740
+  echo -n 'FTP_PASSWORD=$(grep -i "$SERVER_NAME" ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
741
+  echo "$FRIENDS_SERVERS_LIST | awk -F ' ' '{print $2}')" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
742
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
743
+
744
+  echo "if [ -d $PUBLIC_MAILING_LIST_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
745
+  echo '  echo "Restoring public mailing list"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
746
+  echo "  duplicity --force $SERVER/publicmailinglist $PUBLIC_MAILING_LIST_DIRECTORY" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
747
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
748
+
749
+  echo "if [ -d $XMPP_DIRECTORY ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
750
+  echo '  echo "Restoring XMPP settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
751
+  echo "  duplicity --force $SERVER/xmpp $XMPP_DIRECTORY" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
752
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
753
+
754
+  echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
755
+  echo "  rm -rf /home/$MY_USERNAME/tempfiles/*" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
756
+  echo 'else' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
757
+  echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
758
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
759
+  echo 'echo "Restoring web content and miscellaneous files"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
760
+  echo "duplicity --force $SERVER/tempfiles /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
761
+  echo "tar -xzvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
762
+  echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
763
+
764
+  echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
765
+  echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
766
+  echo "  duplicity --force $SERVER/Maildir /home/$MY_USERNAME/Maildir" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
767
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
768
+
769
+  echo "if [ -d /var/cache/minidlna ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
770
+  echo '  echo "Restoring DLNA cache"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
771
+  echo "  duplicity --force $SERVER/dlna /var/cache/minidlna" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
772
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
773
+
774
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
775
+  echo 'exit 0' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
776
+
777
+  echo 'restore_from_friend' >> $COMPLETION_FILE
778
+}
779
+
705 780
 function remove_default_user {
706 781
   # make sure you don't use the default user account
707 782
   if [[ $MY_USERNAME == "debian" ]]; then
@@ -3925,6 +4000,7 @@ install_mediagoblin
3925 4000
 create_backup_script
3926 4001
 create_restore_script
3927 4002
 backup_to_friends_servers
4003
+restore_from_friend
3928 4004
 install_final
3929 4005
 apt-get -y --force-yes autoremove
3930 4006
 echo 'Freedombone installation is complete'