|  | @@ -240,10 +240,6 @@ BACKUP_TO_FRIENDS_SCRIPT_NAME="backup2friends"
 | 
	
		
			
			| 240 | 240 |  # name of a script used to restore backed up data from a friend
 | 
	
		
			
			| 241 | 241 |  RESTORE_FROM_FRIEND_SCRIPT_NAME="restorefromfriend"
 | 
	
		
			
			| 242 | 242 |  
 | 
	
		
			
			| 243 |  | -# passphrase used for automatic backups to friends servers
 | 
	
		
			
			| 244 |  | -# this will be automatically generated
 | 
	
		
			
			| 245 |  | -BACKUP_TO_FRIENDS_PASSPHRASE=
 | 
	
		
			
			| 246 |  | -
 | 
	
		
			
			| 247 | 243 |  # memory limit for php in MB
 | 
	
		
			
			| 248 | 244 |  MAX_PHP_MEMORY=64
 | 
	
		
			
			| 249 | 245 |  
 | 
	
	
		
			
			|  | @@ -631,7 +627,7 @@ function create_backup_script {
 | 
	
		
			
			| 631 | 627 |        echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 632 | 628 |    fi
 | 
	
		
			
			| 633 | 629 |    echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 634 |  | -  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 /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
 | 
	
		
			
			|  | 630 | +  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
 | 
	
		
			
			| 635 | 631 |  
 | 
	
		
			
			| 636 | 632 |    echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 637 | 633 |    echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
	
		
			
			|  | @@ -845,17 +841,13 @@ function backup_to_friends_servers {
 | 
	
		
			
			| 845 | 841 |    fi
 | 
	
		
			
			| 846 | 842 |  
 | 
	
		
			
			| 847 | 843 |    apt-get -y --force-yes install duplicity
 | 
	
		
			
			| 848 |  | -
 | 
	
		
			
			| 849 |  | -  if [ ! $BACKUP_TO_FRIENDS_PASSPHRASE ]; then
 | 
	
		
			
			| 850 |  | -      BACKUP_TO_FRIENDS_PASSPHRASE=$(openssl rand -base64 32)
 | 
	
		
			
			| 851 |  | -  fi
 | 
	
		
			
			| 852 |  | -
 | 
	
		
			
			|  | 844 | +  
 | 
	
		
			
			| 853 | 845 |    if ! grep -q "backups on friends servers" /home/$MY_USERNAME/README; then
 | 
	
		
			
			| 854 | 846 |        echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 855 | 847 |        echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 856 | 848 |        echo 'Backups' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 857 | 849 |        echo '=======' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 858 |  | -      echo "Passphrase for backups on friends servers: $BACKUP_TO_FRIENDS_PASSPHRASE" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 850 | +      echo 'Key file: /root/backupkey' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 859 | 851 |        echo "To add friends servers create a file called $FRIENDS_SERVERS_LIST"
 | 
	
		
			
			| 860 | 852 |        echo 'and add entries like this:' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 861 | 853 |        echo '' >> /home/$MY_USERNAME/README
 | 
	
	
		
			
			|  | @@ -869,7 +861,20 @@ function backup_to_friends_servers {
 | 
	
		
			
			| 869 | 861 |  
 | 
	
		
			
			| 870 | 862 |    echo '#!/bin/bash' > /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 871 | 863 |    echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 872 |  | -  echo "PASSPHRASE='$BACKUP_TO_FRIENDS_PASSPHRASE'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 864 | +
 | 
	
		
			
			|  | 865 | +  echo '# Generate an ssh key used for encrypting backups' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 866 | +  echo "if [ ! -f /root/backupkey ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 867 | +  echo '  ssh-keygen -t rsa -f /root/backupkey -q -N ""' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 868 | +  echo '  sed -i "s/-----BEGIN RSA PRIVATE KEY-----//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME 
 | 
	
		
			
			|  | 869 | +  echo '  sed -i "s/-----END RSA PRIVATE KEY-----//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME 
 | 
	
		
			
			|  | 870 | +  echo '  sed -i "s/==//g" /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME 
 | 
	
		
			
			|  | 871 | +  echo '  chmod 400 /root/backupkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 872 | +  echo '  rm /root/backupkey.pub' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 873 | +  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 874 | +  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 875 | +
 | 
	
		
			
			|  | 876 | +  echo '# Passphrase is the ssh private key' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 877 | +  echo "PASSPHRASE=$(</root/backupkey)" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 873 | 878 |    echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 874 | 879 |    echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 875 | 880 |    echo '    exit 1' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
	
		
			
			|  | @@ -905,7 +910,7 @@ function backup_to_friends_servers {
 | 
	
		
			
			| 905 | 910 |    if grep -Fxq "install_blog" $COMPLETION_FILE; then
 | 
	
		
			
			| 906 | 911 |        echo "tar -czvf /home/$MY_USERNAME/tempfiles/blog.tar.gz /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 907 | 912 |    fi
 | 
	
		
			
			| 908 |  | -  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 /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
 | 
	
		
			
			|  | 913 | +  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
 | 
	
		
			
			| 909 | 914 |  
 | 
	
		
			
			| 910 | 915 |    echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 911 | 916 |    echo 'while read remote_server' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
	
		
			
			|  | @@ -1013,14 +1018,18 @@ function restore_from_friend {
 | 
	
		
			
			| 1013 | 1018 |        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			| 1014 | 1019 |    fi
 | 
	
		
			
			| 1015 | 1020 |  
 | 
	
		
			
			| 1016 |  | -  if [ ! $BACKUP_TO_FRIENDS_PASSPHRASE ]; then
 | 
	
		
			
			| 1017 |  | -      BACKUP_TO_FRIENDS_PASSPHRASE=$(openssl rand -base64 32)
 | 
	
		
			
			| 1018 |  | -  fi
 | 
	
		
			
			| 1019 |  | -
 | 
	
		
			
			| 1020 | 1021 |    echo '#!/bin/bash' > /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1021 | 1022 |    echo 'SERVER_NAME=$1' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1022 | 1023 |    echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1023 |  | -  echo "PASSPHRASE='$BACKUP_TO_FRIENDS_PASSPHRASE'" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1024 | +
 | 
	
		
			
			|  | 1025 | +  echo '# Check that a backup key exists' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1026 | +  echo "if [ ! -f /root/backupkey ]; then" >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 1027 | +  echo '  echo "No backup key was found in /root/backupkey"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1028 | +  echo '  exit 84' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1029 | +  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1030 | +  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			|  | 1031 | +
 | 
	
		
			
			|  | 1032 | +  echo "PASSPHRASE=$(</root/backupkey)" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1024 | 1033 |    echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1025 | 1034 |    echo 'if [ ! $SERVER_NAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 | 
	
		
			
			| 1026 | 1035 |    echo "    echo '$RESTORE_FROM_FRIEND_SCRIPT_NAME [server]'" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
 |