Parcourir la source

usb back and restore for multiple users

Bob Mottram il y a 9 ans
Parent
révision
138db8e90f
1 fichiers modifiés avec 274 ajouts et 179 suppressions
  1. 274
    179
      src/freedombone

+ 274
- 179
src/freedombone Voir le fichier

@@ -2668,23 +2668,33 @@ function create_backup_script {
2668 2668
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2669 2669
 
2670 2670
   echo '# Backup projects' >> /usr/bin/$BACKUP_SCRIPT_NAME
2671
-  echo 'if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2672
-  echo '  echo "Backing up projects"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2673
-  echo '  if [ ! -d $USB_MOUNT/backup/projects ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2674
-  echo '    mkdir -p $USB_MOUNT/backup/projects' >> /usr/bin/$BACKUP_SCRIPT_NAME
2671
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2672
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2673
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2674
+  echo '    if [ -d /home/$USERNAME/projects ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2675
+  echo '      echo "Backing up projects for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2676
+  echo '      if [ ! -d $USB_MOUNT/backup/projects/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2677
+  echo '        mkdir -p $USB_MOUNT/backup/projects/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2678
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2679
+  echo '      backup_directory_to_usb /home/$USERNAME/projects projects/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2680
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2675 2681
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2676
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/projects projects' >> /usr/bin/$BACKUP_SCRIPT_NAME
2677
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2682
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2678 2683
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2679 2684
 
2680 2685
   echo '# Backup personal settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2681
-  echo 'if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2682
-  echo '  echo "Backing up personal settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2683
-  echo '  if [ ! -d $USB_MOUNT/backup/personal ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2684
-  echo '    mkdir -p $USB_MOUNT/backup/personal' >> /usr/bin/$BACKUP_SCRIPT_NAME
2686
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2687
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2688
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2689
+  echo '    if [ -d /home/$USERNAME/personal ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2690
+  echo '      echo "Backing up personal settings for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2691
+  echo '      if [ ! -d $USB_MOUNT/backup/personal/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2692
+  echo '        mkdir -p $USB_MOUNT/backup/personal/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2693
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2694
+  echo '      backup_directory_to_usb /home/$USERNAME/personal personal/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2695
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2685 2696
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2686
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/personal personal' >> /usr/bin/$BACKUP_SCRIPT_NAME
2687
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2697
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2688 2698
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2689 2699
 
2690 2700
   echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -2708,23 +2718,33 @@ function create_backup_script {
2708 2718
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2709 2719
 
2710 2720
   echo '# Backup gpg keys' >> /usr/bin/$BACKUP_SCRIPT_NAME
2711
-  echo 'if [ -d /home/$MY_USERNAME/.gnupg ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2712
-  echo '  echo "Backing up gpg keys"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2713
-  echo '  if [ ! -d $USB_MOUNT/backup/gnupg ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2714
-  echo '    mkdir -p $USB_MOUNT/backup/gnupg' >> /usr/bin/$BACKUP_SCRIPT_NAME
2721
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2722
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2723
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2724
+  echo '    if [ -d /home/$USERNAME/.gnupg ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2725
+  echo '      echo "Backing up gpg keys for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2726
+  echo '      if [ ! -d $USB_MOUNT/backup/gnupg/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2727
+  echo '        mkdir -p $USB_MOUNT/backup/gnupg/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2728
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2729
+  echo '      backup_directory_to_usb /home/$USERNAME/.gnupg gnupg/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2730
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2715 2731
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2716
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/.gnupg gnupg' >> /usr/bin/$BACKUP_SCRIPT_NAME
2717
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2732
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2718 2733
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2719 2734
 
2720 2735
   echo '# Backup ssh keys' >> /usr/bin/$BACKUP_SCRIPT_NAME
2721
-  echo 'if [ -d /home/$MY_USERNAME/.ssh ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2722
-  echo '  echo "Backing up ssh keys"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2723
-  echo '  if [ ! -d $USB_MOUNT/backup/ssh ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2724
-  echo '    mkdir -p $USB_MOUNT/backup/ssh' >> /usr/bin/$BACKUP_SCRIPT_NAME
2736
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2737
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2738
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2739
+  echo '    if [ -d /home/$USERNAME/.ssh ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2740
+  echo '      echo "Backing up ssh keys for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2741
+  echo '      if [ ! -d $USB_MOUNT/backup/ssh/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2742
+  echo '        mkdir -p $USB_MOUNT/backup/ssh/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2743
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2744
+  echo '      backup_directory_to_usb /home/$USERNAME/.ssh ssh/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2745
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2725 2746
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2726
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/.ssh ssh' >> /usr/bin/$BACKUP_SCRIPT_NAME
2727
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2747
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2728 2748
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2729 2749
 
2730 2750
   echo '# Backup web sites' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -2762,59 +2782,79 @@ function create_backup_script {
2762 2782
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2763 2783
 
2764 2784
   echo '# Backup Mutt settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2765
-  echo 'if [ -f /home/$MY_USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2766
-  echo '  echo "Backing up Mutt settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2767
-  echo '  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2768
-  echo '    mkdir -p /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2769
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2770
-  echo '  cp /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2771
-  echo '  if [ -f /etc/Muttrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2772
-  echo '    cp /etc/Muttrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2773
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2774
-  echo '  if [ ! -d $USB_MOUNT/backup/mutt ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2775
-  echo '    mkdir -p $USB_MOUNT/backup/mutt' >> /usr/bin/$BACKUP_SCRIPT_NAME
2785
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2786
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2787
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2788
+  echo '    if [ -f /home/$USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2789
+  echo '      echo "Backing up Mutt settings for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2790
+  echo '      if [ ! -d /home/$USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2791
+  echo '        mkdir -p /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2792
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2793
+  echo '      cp /home/$USERNAME/.muttrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2794
+  echo '      if [ -f /etc/Muttrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2795
+  echo '        cp /etc/Muttrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2796
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2797
+  echo '      if [ ! -d $USB_MOUNT/backup/mutt/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2798
+  echo '        mkdir -p $USB_MOUNT/backup/mutt/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2799
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2800
+  echo '      backup_directory_to_usb /home/$USERNAME/tempbackup mutt/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2801
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2776 2802
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2777
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/tempbackup mutt' >> /usr/bin/$BACKUP_SCRIPT_NAME
2778
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2803
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2779 2804
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2780 2805
 
2781 2806
   echo '# Backup procmail settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2782
-  echo 'if [ -f /home/$MY_USERNAME/.procmailrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2783
-  echo '  echo "Backing up procmail settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2784
-  echo '  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2785
-  echo '    mkdir -p /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2786
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2787
-  echo '  cp /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2788
-  echo '  if [ ! -d $USB_MOUNT/backup/procmail ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2789
-  echo '    mkdir -p $USB_MOUNT/backup/procmail' >> /usr/bin/$BACKUP_SCRIPT_NAME
2807
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2808
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2809
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2810
+  echo '    if [ -f /home/$USERNAME/.procmailrc ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2811
+  echo '      echo "Backing up procmail settings for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2812
+  echo '      if [ ! -d /home/$USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2813
+  echo '        mkdir -p /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2814
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2815
+  echo '      cp /home/$USERNAME/.procmailrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2816
+  echo '      if [ ! -d $USB_MOUNT/backup/procmail/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2817
+  echo '        mkdir -p $USB_MOUNT/backup/procmail/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2818
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2819
+  echo '      backup_directory_to_usb /home/$USERNAME/tempbackup procmail/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2820
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2790 2821
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2791
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/tempbackup procmail' >> /usr/bin/$BACKUP_SCRIPT_NAME
2792
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2822
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2793 2823
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2794 2824
 
2795 2825
   echo '# Backup spamassassin settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2796
-  echo 'if [ -d /home/$MY_USERNAME/.spamassassin ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2797
-  echo '  echo "Backing up spamassassin settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2798
-  echo '  if [ ! -d $USB_MOUNT/backup/spamassassin ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2799
-  echo '    mkdir -p $USB_MOUNT/backup/spamassassin' >> /usr/bin/$BACKUP_SCRIPT_NAME
2826
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2827
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2828
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2829
+  echo '    if [ -d /home/$USERNAME/.spamassassin ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2830
+  echo '      echo "Backing up spamassassin settings for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2831
+  echo '      if [ ! -d $USB_MOUNT/backup/spamassassin/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2832
+  echo '        mkdir -p $USB_MOUNT/backup/spamassassin/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2833
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2834
+  echo '      backup_directory_to_usb /home/$USERNAME/.spamassassin spamassassin/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2835
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2800 2836
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2801
-  echo '  backup_directory_to_usb /home/$MY_USERNAME/.spamassassin spamassassin' >> /usr/bin/$BACKUP_SCRIPT_NAME
2802
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2837
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2803 2838
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2804 2839
 
2805 2840
   echo '# Backup email' >> /usr/bin/$BACKUP_SCRIPT_NAME
2806
-  echo 'if [ -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2807
-  echo '  echo "Creating an email archive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2808
-  echo '  if [ ! -d /root/tempbackupemail ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2809
-  echo "    mkdir -p /root/tempbackupemail" >> /usr/bin/$BACKUP_SCRIPT_NAME
2810
-  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2811
-  echo '  tar -czvf /root/tempbackupemail/maildir.tar.gz /home/$MY_USERNAME/Maildir' >> /usr/bin/$BACKUP_SCRIPT_NAME
2812
-  echo '  echo "Backing up emails"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2813
-  echo '  if [ ! -d $USB_MOUNT/backup/mail ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2814
-  echo '    mkdir -p $USB_MOUNT/backup/mail' >> /usr/bin/$BACKUP_SCRIPT_NAME
2841
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_SCRIPT_NAME
2842
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_SCRIPT_NAME
2843
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2844
+  echo '    if [ -d /home/$USERNAME/Maildir ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2845
+  echo '      echo "Creating an email archive for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2846
+  echo '      if [ ! -d /root/tempbackupemail/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2847
+  echo "        mkdir -p /root/tempbackupemail/$USERNAME" >> /usr/bin/$BACKUP_SCRIPT_NAME
2848
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2849
+  echo '      tar -czvf /root/tempbackupemail/$USERNAME/maildir.tar.gz /home/$USERNAME/Maildir' >> /usr/bin/$BACKUP_SCRIPT_NAME
2850
+  echo '      echo "Backing up emails for $USERNAME"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2851
+  echo '      if [ ! -d $USB_MOUNT/backup/mail/$USERNAME ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2852
+  echo '        mkdir -p $USB_MOUNT/backup/mail/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2853
+  echo '      fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2854
+  echo '      backup_directory_to_usb /root/tempbackupemail/$USERNAME mail/$USERNAME' >> /usr/bin/$BACKUP_SCRIPT_NAME
2855
+  echo '    fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2815 2856
   echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2816
-  echo '  backup_directory_to_usb /root/tempbackupemail mail' >> /usr/bin/$BACKUP_SCRIPT_NAME
2817
-  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2857
+  echo 'done' >> /usr/bin/$BACKUP_SCRIPT_NAME
2818 2858
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2819 2859
 
2820 2860
   echo '# Backup DLNA cache' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -3140,25 +3180,30 @@ function create_restore_script {
3140 3180
       RESTORE_SUBDIR='usb/backup/mutt/'
3141 3181
   fi
3142 3182
   echo 'if [ -d $USB_MOUNT/backup/mutt ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3143
-  echo '  echo "Restoring Mutt settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3144
-  echo '  restore_directory_from_usb /root/tempmutt mutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3145
-  echo -n "  if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3146
-  echo '$MY_USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3147
-  echo -n "    cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3148
-  echo '$MY_USERNAME/tempbackup/.muttrc /home/$MY_USERNAME/.muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3149
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3150
-  echo -n "  if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3151
-  echo '$MY_USERNAME/tempbackup/Muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3152
-  echo -n "    cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3153
-  echo '$MY_USERNAME/tempbackup/Muttrc /etc/Muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3154
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3155
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3156
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3157
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3158
-  echo '    rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3159
-  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3160
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3161
-  echo '  rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3183
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3184
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3185
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3186
+  echo '      echo "Restoring Mutt settings for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3187
+  echo '      restore_directory_from_usb /root/tempmutt mutt/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3188
+  echo -n "      if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3189
+  echo '$USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3190
+  echo -n "        cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3191
+  echo '$USERNAME/tempbackup/.muttrc /home/$USERNAME/.muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3192
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3193
+  echo -n "      if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3194
+  echo '$USERNAME/tempbackup/Muttrc ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3195
+  echo -n "        cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3196
+  echo '$USERNAME/tempbackup/Muttrc /etc/Muttrc' >> /usr/bin/$RESTORE_SCRIPT_NAME
3197
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3198
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3199
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3200
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3201
+  echo '        rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3202
+  echo '        exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3203
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3204
+  echo '      rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_SCRIPT_NAME
3205
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3206
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3162 3207
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3163 3208
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3164 3209
 
@@ -3167,23 +3212,28 @@ function create_restore_script {
3167 3212
       RESTORE_SUBDIR='usb/backup/gnupg/'
3168 3213
   fi
3169 3214
   echo 'if [ -d $USB_MOUNT/backup/gnupg ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3170
-  echo '  echo "Restoring gnupg settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3171
-  echo '  restore_directory_from_usb /root/tempgnupg gnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3172
-  echo -n "  cp -r /root/tempgnupg/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3173
-  echo '$MY_USERNAME/.gnupg /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3174
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3175
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3176
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3177
-  echo '    rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3178
-  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3179
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3180
-  echo '  rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3181
-  echo '  cp -r /home/$MY_USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_SCRIPT_NAME
3182
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3183
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3184
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3185
-  echo '    exit 283' >> /usr/bin/$RESTORE_SCRIPT_NAME
3186
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3215
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3216
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3217
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3218
+  echo '      echo "Restoring gnupg settings for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3219
+  echo '      restore_directory_from_usb /root/tempgnupg gnupg/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3220
+  echo -n "      cp -r /root/tempgnupg/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3221
+  echo '$USERNAME/.gnupg /home/$USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3222
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3223
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3224
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3225
+  echo '        rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3226
+  echo '        exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3227
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3228
+  echo '      rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_SCRIPT_NAME
3229
+  echo '      cp -r /home/$USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_SCRIPT_NAME
3230
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3231
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3232
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3233
+  echo '        exit 283' >> /usr/bin/$RESTORE_SCRIPT_NAME
3234
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3235
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3236
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3187 3237
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3188 3238
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3189 3239
 
@@ -3192,17 +3242,22 @@ function create_restore_script {
3192 3242
       RESTORE_SUBDIR='usb/backup/procmail/'
3193 3243
   fi
3194 3244
   echo 'if [ -d $USB_MOUNT/backup/procmail ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3195
-  echo '  echo "Restoring procmail settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3196
-  echo '  restore_directory_from_usb /root/tempprocmail procmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3197
-  echo -n "  cp -f /root/tempprocmail/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3198
-  echo '$MY_USERNAME/tempbackup/.procmailrc /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3199
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3200
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3201
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3202
-  echo '    rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3203
-  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3204
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3205
-  echo '  rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3245
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3246
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3247
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3248
+  echo '      echo "Restoring procmail settings for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3249
+  echo '      restore_directory_from_usb /root/tempprocmail procmail/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3250
+  echo -n "      cp -f /root/tempprocmail/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3251
+  echo '$USERNAME/tempbackup/.procmailrc /home/$USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3252
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3253
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3254
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3255
+  echo '        rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3256
+  echo '        exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3257
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3258
+  echo '      rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3259
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3260
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3206 3261
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3207 3262
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3208 3263
 
@@ -3211,17 +3266,22 @@ function create_restore_script {
3211 3266
       RESTORE_SUBDIR='usb/backup/spamassassin/'
3212 3267
   fi
3213 3268
   echo 'if [ -d $USB_MOUNT/backup/spamassassin ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3214
-  echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3215
-  echo 'restore_directory_from_usb /root/tempspamassassin spamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3216
-  echo -n "  cp -rf /root/tempspamassassin/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3217
-  echo '$MY_USERNAME/.spamassassin /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3218
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3219
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3220
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3221
-  echo '    rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3222
-  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3223
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3224
-  echo '  rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3269
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3270
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3271
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3272
+  echo '      echo "Restoring spamassassin settings for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3273
+  echo '      restore_directory_from_usb /root/tempspamassassin spamassassin/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3274
+  echo -n "      cp -rf /root/tempspamassassin/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3275
+  echo '$USERNAME/.spamassassin /home/$USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3276
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3277
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3278
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3279
+  echo '        rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3280
+  echo '        exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
3281
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3282
+  echo '      rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
3283
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3284
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3225 3285
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3226 3286
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3227 3287
 
@@ -3268,17 +3328,22 @@ function create_restore_script {
3268 3328
       RESTORE_SUBDIR='usb/backup/ssh/'
3269 3329
   fi
3270 3330
   echo 'if [ -d $USB_MOUNT/backup/ssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3271
-  echo '  echo "Restoring ssh keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3272
-  echo '  restore_directory_from_usb /root/tempssh ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3273
-  echo -n "  cp -r /root/tempssh/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3274
-  echo '$MY_USERNAME/.ssh /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3275
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3276
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3277
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3278
-  echo '    rm -rf /root/tempssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3279
-  echo '    exit 664' >> /usr/bin/$RESTORE_SCRIPT_NAME
3280
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3281
-  echo '  rm -rf /root/tempssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3331
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3332
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3333
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3334
+  echo '      echo "Restoring ssh keys for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3335
+  echo '      restore_directory_from_usb /root/tempssh ssh/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3336
+  echo -n "      cp -r /root/tempssh/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3337
+  echo '$USERNAME/.ssh /home/$USERNAME/' >> /usr/bin/$RESTORE_SCRIPT_NAME
3338
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3339
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3340
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3341
+  echo '        rm -rf /root/tempssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3342
+  echo '        exit 664' >> /usr/bin/$RESTORE_SCRIPT_NAME
3343
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3344
+  echo '      rm -rf /root/tempssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
3345
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3346
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3282 3347
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3283 3348
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3284 3349
 
@@ -3305,19 +3370,24 @@ function create_restore_script {
3305 3370
       RESTORE_SUBDIR='usb/backup/projects/'
3306 3371
   fi
3307 3372
   echo 'if [ -d $USB_MOUNT/backup/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3308
-  echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3309
-  echo '  restore_directory_from_usb /root/tempprojects projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3310
-  echo '  if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3311
-  echo '    rm -rf /home/$MY_USERNAME/projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3312
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3313
-  echo -n "  mv /root/tempprojects/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3314
-  echo '$MY_USERNAME/projects /home/$MY_USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3315
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3316
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3317
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3318
-  echo '    exit 166' >> /usr/bin/$RESTORE_SCRIPT_NAME
3319
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3320
-  echo '  rm -rf /root/tempprojects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3373
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3374
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3375
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3376
+  echo '      echo "Restoring projects for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3377
+  echo '      restore_directory_from_usb /root/tempprojects projects/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3378
+  echo '      if [ -d /home/$USERNAME/projects ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3379
+  echo '        rm -rf /home/$USERNAME/projects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3380
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3381
+  echo -n "      mv /root/tempprojects/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3382
+  echo '$USERNAME/projects /home/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3383
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3384
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3385
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3386
+  echo '        exit 166' >> /usr/bin/$RESTORE_SCRIPT_NAME
3387
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3388
+  echo '      rm -rf /root/tempprojects' >> /usr/bin/$RESTORE_SCRIPT_NAME
3389
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3390
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3321 3391
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3322 3392
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3323 3393
 
@@ -3326,19 +3396,24 @@ function create_restore_script {
3326 3396
       RESTORE_SUBDIR='usb/backup/personal/'
3327 3397
   fi
3328 3398
   echo 'if [ -d $USB_MOUNT/backup/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3329
-  echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3330
-  echo '  restore_directory_from_usb /root/temppersonal personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3331
-  echo '  if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3332
-  echo '    rm -rf /home/$MY_USERNAME/personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3333
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3334
-  echo -n "  mv /root/temppersonal/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3335
-  echo '$MY_USERNAME/personal /home/$MY_USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3336
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3337
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3338
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3339
-  echo '    exit 184' >> /usr/bin/$RESTORE_SCRIPT_NAME
3340
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3341
-  echo '  rm -rf /root/temppersonal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3399
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3400
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3401
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3402
+  echo '      echo "Restoring personal settings for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3403
+  echo '      restore_directory_from_usb /root/temppersonal personal/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3404
+  echo '      if [ -d /home/$USERNAME/personal ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3405
+  echo '        rm -rf /home/$USERNAME/personal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3406
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3407
+  echo -n "      mv /root/temppersonal/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_SCRIPT_NAME
3408
+  echo '$USERNAME/personal /home/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3409
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3410
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3411
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3412
+  echo '        exit 184' >> /usr/bin/$RESTORE_SCRIPT_NAME
3413
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3414
+  echo '      rm -rf /root/temppersonal' >> /usr/bin/$RESTORE_SCRIPT_NAME
3415
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3416
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3342 3417
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3343 3418
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3344 3419
 
@@ -3424,7 +3499,12 @@ function create_restore_script {
3424 3499
       echo '  chown -R www-data:www-data /var/lib/owncloud/data' >> /usr/bin/$RESTORE_SCRIPT_NAME
3425 3500
       echo '  chown -R www-data:www-data /var/lib/owncloud/backup' >> /usr/bin/$RESTORE_SCRIPT_NAME
3426 3501
       echo '  chown -R www-data:www-data /var/lib/owncloud/assets' >> /usr/bin/$RESTORE_SCRIPT_NAME
3427
-      echo '  occ files:scan $MY_USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3502
+      echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3503
+      echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3504
+      echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3505
+      echo '      occ files:scan $USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3506
+      echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3507
+      echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3428 3508
       echo "  ln -s /usr/share/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_SCRIPT_NAME
3429 3509
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3430 3510
       echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3541,13 +3621,18 @@ function create_restore_script {
3541 3621
   echo "  if [ -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.bundle.crt ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
3542 3622
   echo "    sed -i 's|$FULLBLOG_DOMAIN_NAME.crt|$FULLBLOG_DOMAIN_NAME.bundle.crt|g' /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME" >> /usr/bin/$RESTORE_SCRIPT_NAME
3543 3623
   echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3544
-  echo -n "  if [ -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_SCRIPT_NAME
3545
-  echo '/$MY_USERNAME/blog/uncategorized/post ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3546
-  echo -n "    mv /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_SCRIPT_NAME
3547
-  echo -n '/$MY_USERNAME/blog/*.md ' >> /usr/bin/$RESTORE_SCRIPT_NAME
3624
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3625
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3626
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3627
+  echo -n "      if [ -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_SCRIPT_NAME
3628
+  echo '/$USERNAME/blog/uncategorized/post ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3629
+  echo -n "        mv /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_SCRIPT_NAME
3630
+  echo -n '/$USERNAME/blog/*.md ' >> /usr/bin/$RESTORE_SCRIPT_NAME
3548 3631
   echo -n "/var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_SCRIPT_NAME
3549
-  echo '/$MY_USERNAME/blog/uncategorized/post ' >> /usr/bin/$RESTORE_SCRIPT_NAME
3550
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3632
+  echo '/$USERNAME/blog/uncategorized/post ' >> /usr/bin/$RESTORE_SCRIPT_NAME
3633
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3634
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3635
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3551 3636
 
3552 3637
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3553 3638
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3575,18 +3660,23 @@ function create_restore_script {
3575 3660
       RESTORE_SUBDIR='usb/backup/mail'
3576 3661
   fi
3577 3662
   echo 'if [ -d $USB_MOUNT/backup/mail ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3578
-  echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3579
-  echo '  restore_directory_from_usb /root/tempmail mail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3580
-  echo '  if [ ! -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3581
-  echo '    mkdir /home/$MY_USERNAME/Maildir' >> /usr/bin/$RESTORE_SCRIPT_NAME
3582
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3583
-  echo "  tar -xzvf /root/tempmail/${RESTORE_SUBDIR}/tempbackupemail/maildir.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
3584
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3585
-  echo '    umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3586
-  echo '    rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3587
-  echo '    exit 927' >> /usr/bin/$RESTORE_SCRIPT_NAME
3588
-  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3589
-  echo '  rm -rf /root/tempmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3663
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3664
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3665
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3666
+  echo '      echo "Restoring emails for $USERNAME"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3667
+  echo '      restore_directory_from_usb /root/tempmail mail/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3668
+  echo '      if [ ! -d /home/$USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3669
+  echo '        mkdir /home/$USERNAME/Maildir' >> /usr/bin/$RESTORE_SCRIPT_NAME
3670
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3671
+  echo "      tar -xzvf /root/tempmail/${RESTORE_SUBDIR}/tempbackupemail/maildir.tar.gz -C /" >> /usr/bin/$RESTORE_SCRIPT_NAME
3672
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3673
+  echo '        umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3674
+  echo '        rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
3675
+  echo '        exit 927' >> /usr/bin/$RESTORE_SCRIPT_NAME
3676
+  echo '      fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3677
+  echo '      rm -rf /root/tempmail' >> /usr/bin/$RESTORE_SCRIPT_NAME
3678
+  echo '    fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3679
+  echo '  done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3590 3680
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3591 3681
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3592 3682
 
@@ -3673,7 +3763,12 @@ function create_restore_script {
3673 3763
   fi
3674 3764
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3675 3765
   echo 'echo "Setting permissions"' >> /usr/bin/$RESTORE_SCRIPT_NAME
3676
-  echo 'chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3766
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_SCRIPT_NAME
3767
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_SCRIPT_NAME
3768
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
3769
+  echo '    chown -R $USERNAME:$USERNAME /home/$USERNAME' >> /usr/bin/$RESTORE_SCRIPT_NAME
3770
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
3771
+  echo 'done' >> /usr/bin/$RESTORE_SCRIPT_NAME
3677 3772
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
3678 3773
 
3679 3774
   echo 'if [[ $USB_DRIVE == /dev/mapper/encrypted_usb ]]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME