Bläddra i källkod

Owncloud remote restore

Bob Mottram 9 år sedan
förälder
incheckning
4c853944e1
1 ändrade filer med 223 tillägg och 221 borttagningar
  1. 223
    221
      src/freedombone-restore-remote

+ 223
- 221
src/freedombone-restore-remote Visa fil

@@ -699,13 +699,14 @@ function restore_owncloud {
699 699
             return
700 700
         fi
701 701
     fi
702
-	OWNCLOUD_PATH=/var/www/owncloud
702
+    OWNCLOUD_PATH=/var/www/owncloud
703 703
     if grep -q "Owncloud domain" $COMPLETION_FILE; then
704 704
         OWNCLOUD_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Owncloud domain" | awk -F ':' '{print $2}')
705 705
         restore_database_from_friend owncloud $OWNCLOUD_DOMAIN_NAME
706 706
 
707 707
         if [ -d $SERVER_DIRECTORY/backup/owncloudfiles ]; then
708 708
             echo $"Restoring Owncloud installation"
709
+            restore_directory_from_friend /root/tempowncloudfiles owncloudfiles
709 710
             cp -r /root/tempowncloudfiles/* /
710 711
             if [ ! "$?" = "0" ]; then
711 712
                 exit 1458
@@ -715,6 +716,7 @@ function restore_owncloud {
715 716
 
716 717
         if [ -d $SERVER_DIRECTORY/backup/owncloudconfig ]; then
717 718
             echo $"Restoring Owncloud installation"
719
+            restore_directory_from_friend /root/tempowncloudconfig owncloudconfig
718 720
             cp -r /root/tempowncloudconfig/* /
719 721
             if [ ! "$?" = "0" ]; then
720 722
                 exit 2571
@@ -723,16 +725,16 @@ function restore_owncloud {
723 725
         fi
724 726
 
725 727
         chown -R www-data:www-data $OWNCLOUD_PATH
726
-		chown root:root $OWNCLOUD_PATH/config/config.php
728
+        chown root:root $OWNCLOUD_PATH/config/config.php
727 729
 
728 730
         # re-index files
729 731
         for d in /home/*/ ; do
730 732
             USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
731 733
             if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
732 734
                 $OWNCLOUD_PATH/occ files:scan $USERNAME
733
-			fi
734
-		done
735
-	fi
735
+            fi
736
+        done
737
+    fi
736 738
 }
737 739
 
738 740
 function restore_mediagoblin {
@@ -745,246 +747,246 @@ function restore_mediagoblin {
745 747
         MEDIAGOBLIN_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Mediagoblin domain" | awk -F ':' '{print $2}')
746 748
         if [ -d $SERVER_DIRECTORY/backup/mediagoblin ]; then
747 749
             echo $"Restoring Mediagoblin installation"
748
-			restore_directory_from_friend /root/tempmediagoblin mediagoblin
749
-			cp -r /root/tempmediagoblin/* /
750
-			if [ ! "$?" = "0" ]; then
751
-				exit 5626
752
-			fi
753
-			rm -rf /root/tempmediagoblin
754
-        fi
755
-		chown -hR mediagoblin:www-data /var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
756
-	fi
750
+            restore_directory_from_friend /root/tempmediagoblin mediagoblin
751
+            cp -r /root/tempmediagoblin/* /
752
+            if [ ! "$?" = "0" ]; then
753
+                exit 5626
754
+            fi
755
+            rm -rf /root/tempmediagoblin
756
+        fi
757
+        chown -hR mediagoblin:www-data /var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
758
+    fi
757 759
 }
758 760
 
759 761
 function restore_gogs {
760
-	if [[ $RESTORE_APP != 'all' ]]; then
761
-		if [[ $RESTORE_APP != 'gogs' ]]; then
762
-			return
763
-		fi
764
-	fi
765
-	if grep -q "Gogs domain" $COMPLETION_FILE; then
766
-		GIT_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Gogs domain" | awk -F ':' '{print $2}')
767
-		restore_database_from_friend gogs $GIT_DOMAIN_NAME
768
-		if [ -d $SERVER_DIRECTORY/backup/gogs ]; then
769
-			if [ ! -d /home/git/go/src/github.com/gogits/gogs/custom ]; then
770
-				mkdir -p /home/git/go/src/github.com/gogits/gogs/custom
771
-			fi
772
-			cp -r /root/tempgogs/home/git/go/src/github.com/gogits/gogs/custom/* /home/git/go/src/github.com/gogits/gogs/custom/
773
-			if [ ! "$?" = "0" ]; then
774
-				exit 5885
775
-			fi
776
-			echo $"Restoring Gogs repos"
777
-			restore_directory_from_friend /root/tempgogsrepos gogsrepos
778
-			cp -r /root/tempgogsrepos/home/git/gogs-repositories/* /home/git/gogs-repositories/
779
-			if [ ! "$?" = "0" ]; then
780
-				exit 7649
781
-			fi
782
-			echo $"Restoring Gogs authorized_keys"
783
-			restore_directory_from_friend /root/tempgogsssh gogsssh
784
-			if [ ! -d /home/git/.ssh ]; then
785
-				mkdir /home/git/.ssh
786
-			fi
787
-			cp -r /root/tempgogsssh/home/git/.ssh/* /home/git/.ssh/
788
-			if [ ! "$?" = "0" ]; then
789
-				exit 74239
790
-			fi
791
-			rm -rf /root/tempgogs
792
-			rm -rf /root/tempgogsrepos
793
-			rm -rf /root/tempgogsssh
794
-			chown -R git:git /home/git
795
-		fi
796
-	fi
762
+    if [[ $RESTORE_APP != 'all' ]]; then
763
+        if [[ $RESTORE_APP != 'gogs' ]]; then
764
+            return
765
+        fi
766
+    fi
767
+    if grep -q "Gogs domain" $COMPLETION_FILE; then
768
+        GIT_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Gogs domain" | awk -F ':' '{print $2}')
769
+        restore_database_from_friend gogs $GIT_DOMAIN_NAME
770
+        if [ -d $SERVER_DIRECTORY/backup/gogs ]; then
771
+            if [ ! -d /home/git/go/src/github.com/gogits/gogs/custom ]; then
772
+                mkdir -p /home/git/go/src/github.com/gogits/gogs/custom
773
+            fi
774
+            cp -r /root/tempgogs/home/git/go/src/github.com/gogits/gogs/custom/* /home/git/go/src/github.com/gogits/gogs/custom/
775
+            if [ ! "$?" = "0" ]; then
776
+                exit 5885
777
+            fi
778
+            echo $"Restoring Gogs repos"
779
+            restore_directory_from_friend /root/tempgogsrepos gogsrepos
780
+            cp -r /root/tempgogsrepos/home/git/gogs-repositories/* /home/git/gogs-repositories/
781
+            if [ ! "$?" = "0" ]; then
782
+                exit 7649
783
+            fi
784
+            echo $"Restoring Gogs authorized_keys"
785
+            restore_directory_from_friend /root/tempgogsssh gogsssh
786
+            if [ ! -d /home/git/.ssh ]; then
787
+                mkdir /home/git/.ssh
788
+            fi
789
+            cp -r /root/tempgogsssh/home/git/.ssh/* /home/git/.ssh/
790
+            if [ ! "$?" = "0" ]; then
791
+                exit 74239
792
+            fi
793
+            rm -rf /root/tempgogs
794
+            rm -rf /root/tempgogsrepos
795
+            rm -rf /root/tempgogsssh
796
+            chown -R git:git /home/git
797
+        fi
798
+    fi
797 799
 }
798 800
 
799 801
 function restore_wiki {
800
-	if [[ $RESTORE_APP != 'all' ]]; then
801
-		if [[ $RESTORE_APP != 'wiki' ]]; then
802
-			return
803
-		fi
804
-	fi
805
-	if [ -d $SERVER_DIRECTORY/backup/wiki ]; then
806
-		WIKI_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Wiki domain" | awk -F ':' '{print $2}')
807
-		echo $"Restoring Wiki installation $WIKI_DOMAIN_NAME"
808
-		restore_directory_from_friend /root/tempwiki wiki
809
-		cp -r /root/tempwiki/var/lib/dokuwiki/* /var/lib/dokuwiki/
810
-		if [ ! "$?" = "0" ]; then
811
-			exit 868
812
-		fi
813
-		restore_directory_from_friend /root/tempwiki2 wiki2
814
-		cp -r /root/tempwiki2/etc/dokuwiki/* /etc/dokuwiki/
815
-		if [ ! "$?" = "0" ]; then
816
-			exit 869
817
-		fi
818
-		rm -rf /root/tempwiki
819
-		rm -rf /root/tempwiki2
820
-		chown -R www-data:www-data /var/lib/dokuwiki/*
821
-		# Ensure that the bundled SSL cert is being used
822
-		if [ -f /etc/ssl/certs/${WIKI_DOMAIN_NAME}.bundle.crt ]; then
823
-			sed -i "s|${WIKI_DOMAIN_NAME}.crt|${WIKI_DOMAIN_NAME}.bundle.crt|g" /etc/nginx/sites-available/${WIKI_DOMAIN_NAME}
824
-		fi
825
-		if [ -d /etc/letsencrypt/live/${WIKI_DOMAIN_NAME} ]; then
826
-			ln -s /etc/letsencrypt/live/${WIKI_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${WIKI_DOMAIN_NAME}.key
827
-			ln -s /etc/letsencrypt/live/${WIKI_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${WIKI_DOMAIN_NAME}.pem
828
-		fi
829
-	fi
802
+    if [[ $RESTORE_APP != 'all' ]]; then
803
+        if [[ $RESTORE_APP != 'wiki' ]]; then
804
+            return
805
+        fi
806
+    fi
807
+    if [ -d $SERVER_DIRECTORY/backup/wiki ]; then
808
+        WIKI_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Wiki domain" | awk -F ':' '{print $2}')
809
+        echo $"Restoring Wiki installation $WIKI_DOMAIN_NAME"
810
+        restore_directory_from_friend /root/tempwiki wiki
811
+        cp -r /root/tempwiki/var/lib/dokuwiki/* /var/lib/dokuwiki/
812
+        if [ ! "$?" = "0" ]; then
813
+            exit 868
814
+        fi
815
+        restore_directory_from_friend /root/tempwiki2 wiki2
816
+        cp -r /root/tempwiki2/etc/dokuwiki/* /etc/dokuwiki/
817
+        if [ ! "$?" = "0" ]; then
818
+            exit 869
819
+        fi
820
+        rm -rf /root/tempwiki
821
+        rm -rf /root/tempwiki2
822
+        chown -R www-data:www-data /var/lib/dokuwiki/*
823
+        # Ensure that the bundled SSL cert is being used
824
+        if [ -f /etc/ssl/certs/${WIKI_DOMAIN_NAME}.bundle.crt ]; then
825
+            sed -i "s|${WIKI_DOMAIN_NAME}.crt|${WIKI_DOMAIN_NAME}.bundle.crt|g" /etc/nginx/sites-available/${WIKI_DOMAIN_NAME}
826
+        fi
827
+        if [ -d /etc/letsencrypt/live/${WIKI_DOMAIN_NAME} ]; then
828
+            ln -s /etc/letsencrypt/live/${WIKI_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${WIKI_DOMAIN_NAME}.key
829
+            ln -s /etc/letsencrypt/live/${WIKI_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${WIKI_DOMAIN_NAME}.pem
830
+        fi
831
+    fi
830 832
 }
831 833
 
832 834
 function restore_blog {
833
-	if [[ $RESTORE_APP != 'all' ]]; then
834
-		if [[ $RESTORE_APP != 'blog' ]]; then
835
-			return
836
-		fi
837
-	fi
838
-	if [ -d $SERVER_DIRECTORY/backup/blog ]; then
839
-		FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
840
-		echo $"Restoring blog installation $FULLBLOG_DOMAIN_NAME"
841
-		mkdir /root/tempblog
842
-		restore_directory_from_friend /root/tempblog blog
843
-		rm -rf /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs
844
-		cp -r /root/tempblog/var/www/${FULLBLOG_DOMAIN_NAME}/htdocs /var/www/${FULLBLOG_DOMAIN_NAME}/
845
-		if [ ! "$?" = "0" ]; then
846
-			exit 593
847
-		fi
848
-		rm -rf /root/tempblog
849
-		if [ ! -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content ]; then
850
-			echo $"No content directory found after restoring blog"
851
-			exit 287
852
-		fi
853
-		# Ensure that the bundled SSL cert is being used
854
-		if [ -f /etc/ssl/certs/${FULLBLOG_DOMAIN_NAME}.bundle.crt ]; then
855
-			sed -i "s|${FULLBLOG_DOMAIN_NAME}.crt|${FULLBLOG_DOMAIN_NAME}.bundle.crt|g" /etc/nginx/sites-available/${FULLBLOG_DOMAIN_NAME}
856
-		fi
857
-		for d in /home/*/ ; do
858
-			USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
859
-			if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
860
-				if [ -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post ]; then
861
-					mv /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/*.md /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post
862
-				fi
863
-		done
864
-		if [ -d /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME} ]; then
865
-			ln -s /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${FULLBLOG_DOMAIN_NAME}.key
866
-			ln -s /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${FULLBLOG_DOMAIN_NAME}.pem
867
-		fi
868
-	fi
835
+    if [[ $RESTORE_APP != 'all' ]]; then
836
+        if [[ $RESTORE_APP != 'blog' ]]; then
837
+            return
838
+        fi
839
+    fi
840
+    if [ -d $SERVER_DIRECTORY/backup/blog ]; then
841
+        FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
842
+        echo $"Restoring blog installation $FULLBLOG_DOMAIN_NAME"
843
+        mkdir /root/tempblog
844
+        restore_directory_from_friend /root/tempblog blog
845
+        rm -rf /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs
846
+        cp -r /root/tempblog/var/www/${FULLBLOG_DOMAIN_NAME}/htdocs /var/www/${FULLBLOG_DOMAIN_NAME}/
847
+        if [ ! "$?" = "0" ]; then
848
+            exit 593
849
+        fi
850
+        rm -rf /root/tempblog
851
+        if [ ! -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content ]; then
852
+            echo $"No content directory found after restoring blog"
853
+            exit 287
854
+        fi
855
+        # Ensure that the bundled SSL cert is being used
856
+        if [ -f /etc/ssl/certs/${FULLBLOG_DOMAIN_NAME}.bundle.crt ]; then
857
+            sed -i "s|${FULLBLOG_DOMAIN_NAME}.crt|${FULLBLOG_DOMAIN_NAME}.bundle.crt|g" /etc/nginx/sites-available/${FULLBLOG_DOMAIN_NAME}
858
+        fi
859
+        for d in /home/*/ ; do
860
+            USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
861
+            if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
862
+                if [ -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post ]; then
863
+                    mv /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/*.md /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post
864
+                fi
865
+        done
866
+        if [ -d /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME} ]; then
867
+            ln -s /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${FULLBLOG_DOMAIN_NAME}.key
868
+            ln -s /etc/letsencrypt/live/${FULLBLOG_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${FULLBLOG_DOMAIN_NAME}.pem
869
+        fi
870
+    fi
869 871
 }
870 872
 
871 873
 function restore_cjdns {
872
-	if [[ $RESTORE_APP != 'all' ]]; then
873
-		if [[ $RESTORE_APP != 'cjdns' ]]; then
874
-			return
875
-		fi
876
-	fi
877
-	if [ -d $SERVER_DIRECTORY/backup/cjdns ]; then
878
-		echo $"Restoring cjdns installation"
879
-		restore_directory_from_friend /root/tempcjdns cjdns
880
-		rm -rf /etc/cjdns
881
-		cp -r /root/tempcjdns/etc/cjdns /etc/
882
-		if [ ! "$?" = "0" ]; then
883
-			exit 7438
884
-		fi
885
-		rm -rf /root/tempcjdns
886
-	fi
874
+    if [[ $RESTORE_APP != 'all' ]]; then
875
+        if [[ $RESTORE_APP != 'cjdns' ]]; then
876
+            return
877
+        fi
878
+    fi
879
+    if [ -d $SERVER_DIRECTORY/backup/cjdns ]; then
880
+        echo $"Restoring cjdns installation"
881
+        restore_directory_from_friend /root/tempcjdns cjdns
882
+        rm -rf /etc/cjdns
883
+        cp -r /root/tempcjdns/etc/cjdns /etc/
884
+        if [ ! "$?" = "0" ]; then
885
+            exit 7438
886
+        fi
887
+        rm -rf /root/tempcjdns
888
+    fi
887 889
 }
888 890
 
889 891
 function restore_voip {
890
-	if [[ $RESTORE_APP != 'all' ]]; then
891
-		if [[ $RESTORE_APP != 'voip' ]]; then
892
-			return
893
-		fi
894
-	fi
895
-	if [ -d $SERVER_DIRECTORY/backup/voip ]; then
896
-		echo $"Restoring VoIP settings"
897
-		restore_directory_from_friend /root/tempvoip voip
898
-		cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
899
-		if [ ! "$?" = "0" ]; then
900
-			rm -rf /root/tempvoip
901
-			exit 7823
902
-		fi
903
-		cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/sipwitch.conf /etc/sipwitch.conf
904
-		if [ ! "$?" = "0" ]; then
905
-			rm -rf /root/tempvoip
906
-			exit 7823
907
-		fi
908
-		cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
909
-		if [ ! "$?" = "0" ]; then
910
-			rm -rf /root/tempvoip
911
-			exit 276
912
-		fi
913
-		rm -rf /root/tempvoip
914
-		cp /etc/ssl/certs/mumble* /var/lib/mumble-server
915
-		cp /etc/ssl/private/mumble* /var/lib/mumble-server
916
-		chown -R mumble-server:mumble-server /var/lib/mumble-server
917
-		service sipwitch restart
918
-		service mumble-server restart
919
-	fi
892
+    if [[ $RESTORE_APP != 'all' ]]; then
893
+        if [[ $RESTORE_APP != 'voip' ]]; then
894
+            return
895
+        fi
896
+    fi
897
+    if [ -d $SERVER_DIRECTORY/backup/voip ]; then
898
+        echo $"Restoring VoIP settings"
899
+        restore_directory_from_friend /root/tempvoip voip
900
+        cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
901
+        if [ ! "$?" = "0" ]; then
902
+            rm -rf /root/tempvoip
903
+            exit 7823
904
+        fi
905
+        cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/sipwitch.conf /etc/sipwitch.conf
906
+        if [ ! "$?" = "0" ]; then
907
+            rm -rf /root/tempvoip
908
+            exit 7823
909
+        fi
910
+        cp -f /root/tempvoip/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
911
+        if [ ! "$?" = "0" ]; then
912
+            rm -rf /root/tempvoip
913
+            exit 276
914
+        fi
915
+        rm -rf /root/tempvoip
916
+        cp /etc/ssl/certs/mumble* /var/lib/mumble-server
917
+        cp /etc/ssl/private/mumble* /var/lib/mumble-server
918
+        chown -R mumble-server:mumble-server /var/lib/mumble-server
919
+        service sipwitch restart
920
+        service mumble-server restart
921
+    fi
920 922
 }
921 923
 
922 924
 function restore_tox {
923
-	if [[ $RESTORE_APP != 'all' ]]; then
924
-		if [[ $RESTORE_APP != 'tox' ]]; then
925
-			return
926
-		fi
927
-	fi
928
-	if [ -d $SERVER_DIRECTORY/backup/tox ]; then
929
-		echo $"Restoring Tox node settings"
930
-		restore_directory_from_friend / tox
931
-		if [ ! "$?" = "0" ]; then
932
-			exit 93653
933
-		fi
934
-		cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
935
-		systemctl restart tox-bootstrapd.service
936
-		if [ ! "$?" = "0" ]; then
937
-			systemctl status tox-bootstrapd.service
938
-			exit 59369
939
-		fi
940
-	fi
925
+    if [[ $RESTORE_APP != 'all' ]]; then
926
+        if [[ $RESTORE_APP != 'tox' ]]; then
927
+            return
928
+        fi
929
+    fi
930
+    if [ -d $SERVER_DIRECTORY/backup/tox ]; then
931
+        echo $"Restoring Tox node settings"
932
+        restore_directory_from_friend / tox
933
+        if [ ! "$?" = "0" ]; then
934
+            exit 93653
935
+        fi
936
+        cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
937
+        systemctl restart tox-bootstrapd.service
938
+        if [ ! "$?" = "0" ]; then
939
+            systemctl status tox-bootstrapd.service
940
+            exit 59369
941
+        fi
942
+    fi
941 943
 }
942 944
 
943 945
 function restore_email {
944
-	if [[ $RESTORE_APP != 'all' ]]; then
945
-		if [[ $RESTORE_APP != 'email' ]]; then
946
-			return
947
-		fi
948
-	fi
949
-	for d in $SERVER_DIRECTORY/backup/mail/*/ ; do
950
-		USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
951
-		if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
952
-			if [ -d $SERVER_DIRECTORY/backup/mail/$USERNAME ]; then
953
-				if [ ! -d /home/$USERNAME ]; then
954
-					${PROJECT_NAME}-adduser $USERNAME
955
-				fi
956
-				echo $"Restoring emails for $USERNAME"
957
-				restore_directory_from_friend /root/tempmail mail/$USERNAME
958
-				if [ ! -d /home/$USERNAME/Maildir ]; then
959
-					mkdir /home/$USERNAME/Maildir
960
-				fi
961
-				tar -xzvf /root/tempmail/root/tempbackupemail/$USERNAME/maildir.tar.gz -C /
962
-				if [ ! "$?" = "0" ]; then
963
-					exit 927
964
-				fi
965
-				rm -rf /root/tempmail
966
-			fi
967
-		fi
968
-	done
946
+    if [[ $RESTORE_APP != 'all' ]]; then
947
+        if [[ $RESTORE_APP != 'email' ]]; then
948
+            return
949
+        fi
950
+    fi
951
+    for d in $SERVER_DIRECTORY/backup/mail/*/ ; do
952
+        USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
953
+        if [[ $USERNAME != "git" && $USRNAME != "mirrors" ]]; then
954
+            if [ -d $SERVER_DIRECTORY/backup/mail/$USERNAME ]; then
955
+                if [ ! -d /home/$USERNAME ]; then
956
+                    ${PROJECT_NAME}-adduser $USERNAME
957
+                fi
958
+                echo $"Restoring emails for $USERNAME"
959
+                restore_directory_from_friend /root/tempmail mail/$USERNAME
960
+                if [ ! -d /home/$USERNAME/Maildir ]; then
961
+                    mkdir /home/$USERNAME/Maildir
962
+                fi
963
+                tar -xzvf /root/tempmail/root/tempbackupemail/$USERNAME/maildir.tar.gz -C /
964
+                if [ ! "$?" = "0" ]; then
965
+                    exit 927
966
+                fi
967
+                rm -rf /root/tempmail
968
+            fi
969
+        fi
970
+    done
969 971
 }
970 972
 
971 973
 function restore_dlna {
972
-	if [[ $RESTORE_APP != 'all' ]]; then
973
-		if [[ $RESTORE_APP != 'dlna' ]]; then
974
-			return
975
-		fi
976
-	fi
977
-	if [ -d /var/cache/minidlna ]; then
978
-		if [ -d $SERVER_DIRECTORY/backup/dlna ]; then
979
-			echo $"Restoring DLNA cache"
980
-			restore_directory_from_friend /root/tempdlna dlna
981
-			cp -r /root/tempdlna/var/cache/minidlna/* /var/cache/minidlna/
982
-			if [ ! "$?" = "0" ]; then
983
-				exit 982
984
-			fi
985
-			rm -rf /root/tempdlna
986
-		fi
987
-	fi
974
+    if [[ $RESTORE_APP != 'all' ]]; then
975
+        if [[ $RESTORE_APP != 'dlna' ]]; then
976
+            return
977
+        fi
978
+    fi
979
+    if [ -d /var/cache/minidlna ]; then
980
+        if [ -d $SERVER_DIRECTORY/backup/dlna ]; then
981
+            echo $"Restoring DLNA cache"
982
+            restore_directory_from_friend /root/tempdlna dlna
983
+            cp -r /root/tempdlna/var/cache/minidlna/* /var/cache/minidlna/
984
+            if [ ! "$?" = "0" ]; then
985
+                exit 982
986
+            fi
987
+            rm -rf /root/tempdlna
988
+        fi
989
+    fi
988 990
 }
989 991
 
990 992
 # Social key management