|
@@ -292,6 +292,9 @@ GITHUB_USERNAME=
|
292
|
292
|
# Directory where github projects will be backed up
|
293
|
293
|
GITHUB_BACKUP_DIRECTORY=/var/backups/github
|
294
|
294
|
|
|
295
|
+# Used to indicate whether the backup contains MariaDB databases or not
|
|
296
|
+BACKUP_INCLUDES_DATABASES="no"
|
|
297
|
+
|
295
|
298
|
# message if something fails to install
|
296
|
299
|
CHECK_MESSAGE="Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
|
297
|
300
|
|
|
@@ -612,7 +615,9 @@ function create_backup_script {
|
612
|
615
|
echo "if [ ! -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
613
|
616
|
echo " mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
614
|
617
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
618
|
+ echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
615
|
619
|
if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
|
|
620
|
+ BACKUP_INCLUDES_DATABASES="yes"
|
616
|
621
|
echo "if [ ! -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
617
|
622
|
echo " mkdir -p $USB_MOUNT/backup/gnusocial" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
618
|
623
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -623,12 +628,15 @@ function create_backup_script {
|
623
|
628
|
echo " if [ ! $MARIADB_PASSWORD ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
624
|
629
|
echo " echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
625
|
630
|
echo " fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
631
|
+ echo " umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
632
|
+ echo " rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
626
|
633
|
echo ' exit 379' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
627
|
634
|
echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
628
|
635
|
echo 'echo "Backing up GNU social installation"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
629
|
636
|
echo "rsyncrypto -v -r /var/www/$MICROBLOG_DOMAIN_NAME/htdocs $USB_MOUNT/backup/gnusocial $USB_MOUNT/backup/gnusocial.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
630
|
637
|
fi
|
631
|
638
|
if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
|
|
639
|
+ BACKUP_INCLUDES_DATABASES="yes"
|
632
|
640
|
echo "if [ ! -d $USB_MOUNT/backup/redmatrix ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
633
|
641
|
echo " mkdir -p $USB_MOUNT/backup/redmatrix" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
634
|
642
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -639,12 +647,15 @@ function create_backup_script {
|
639
|
647
|
echo " if [ ! $MARIADB_PASSWORD ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
640
|
648
|
echo " echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
641
|
649
|
echo " fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
650
|
+ echo " umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
651
|
+ echo " rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
642
|
652
|
echo ' exit 378' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
643
|
653
|
echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
644
|
654
|
echo 'echo "Backing up Red Matrix installation"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
645
|
655
|
echo "rsyncrypto -v -r /var/www/$REDMATRIX_DOMAIN_NAME/htdocs $USB_MOUNT/backup/redmatrix $USB_MOUNT/backup/redmatrix.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
646
|
656
|
fi
|
647
|
657
|
if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
|
|
658
|
+ BACKUP_INCLUDES_DATABASES="yes"
|
648
|
659
|
echo "if [ ! -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
649
|
660
|
echo " mkdir -p $USB_MOUNT/backup/owncloud" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
650
|
661
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -654,6 +665,8 @@ function create_backup_script {
|
654
|
665
|
echo " if [ ! $MARIADB_PASSWORD ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
655
|
666
|
echo " echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
656
|
667
|
echo " fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
668
|
+ echo " umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
669
|
+ echo " rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
657
|
670
|
echo ' exit 377' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
658
|
671
|
echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
659
|
672
|
echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -673,8 +686,6 @@ function create_backup_script {
|
673
|
686
|
echo 'echo "Obtaining blog backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
674
|
687
|
echo "rsyncrypto -v -r /var/www/$FULLBLOG_DOMAIN_NAME/htdocs $USB_MOUNT/backupblog $USB_MOUNT/backup/blog.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
675
|
688
|
fi
|
676
|
|
- echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
677
|
|
- 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
|
678
|
689
|
|
679
|
690
|
echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
680
|
691
|
echo '# Backup certificates' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -735,6 +746,8 @@ function create_backup_script {
|
735
|
746
|
echo " if [ ! -d $USB_MOUNT/backup/misc ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
736
|
747
|
echo " mkdir -p $USB_MOUNT/backup/misc" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
737
|
748
|
echo ' fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
749
|
+ echo ' echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
750
|
+ 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 /etc/nginx/sites-available /home/$MY_USERNAME/README" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
738
|
751
|
echo " rsyncrypto -v -r /home/$MY_USERNAME/tempfiles $USB_MOUNT/backup/misc $USB_MOUNT/backup/misc.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
739
|
752
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
740
|
753
|
echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -755,8 +768,20 @@ function create_backup_script {
|
755
|
768
|
echo ' fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
756
|
769
|
echo " rsyncrypto -v -r /var/cache/minidlna $USB_MOUNT/backup/dlna $USB_MOUNT/backup/dlna.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
757
|
770
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
758
|
|
-
|
759
|
771
|
echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
772
|
+
|
|
773
|
+ if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
|
|
774
|
+ echo '# Mysql settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
775
|
+ echo "mysqldump --password=$MARIADB_PASSWORD mysql user > $USB_MOUNT/backup/mysql.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
776
|
+ echo "if [ ! -s $USB_MOUNT/backup/mysql.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
777
|
+ echo ' echo "Unable to backup mysql settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
778
|
+ echo " umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
779
|
+ echo " rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
780
|
+ echo ' exit 653' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
781
|
+ echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
782
|
+ echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
783
|
+ fi
|
|
784
|
+
|
760
|
785
|
echo 'sync' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
761
|
786
|
echo '# Remove temporary files' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
762
|
787
|
echo "if [ -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -826,6 +851,22 @@ function create_restore_script {
|
826
|
851
|
echo ' exit 563' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
827
|
852
|
echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
828
|
853
|
echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
854
|
+ echo '# MariaDB password' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
855
|
+ echo "DATABASE_PASSWORD=$MARIADB_PASSWORD" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
856
|
+ echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
857
|
+
|
|
858
|
+ if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
|
|
859
|
+ echo ' echo "Restoring mysql settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
860
|
+ echo ' if [ ! -d /root/tempmariadb ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
861
|
+ echo ' mkdir /root/tempmariadb' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
862
|
+ echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
863
|
+ echo " rsyncrypto -v -d -r $USB_MOUNT/backup/mariadb /root/tempmariadb $USB_MOUNT/backup/mariadb.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
864
|
+ echo ' mysql -u root --password=$DATABASE_PASSWORD mysql -o < /root/tempmariadb/mysql.sql' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
865
|
+ echo ' shred -zu /root/tempmariadb/mysql.sql' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
866
|
+ echo ' rm -rf /root/tempmariadb' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
867
|
+ echo ' mysql -u root --password=$DATABASE_PASSWORD "flush privileges;"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
868
|
+ echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
869
|
+ fi
|
829
|
870
|
|
830
|
871
|
echo "if [ -d $USB_MOUNT/backup/ssl ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
831
|
872
|
echo ' echo "Restoring certificates"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
@@ -876,7 +917,8 @@ function create_restore_script {
|
876
|
917
|
if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
|
877
|
918
|
echo "if [ -f $USB_MOUNT/backup/gnusocial.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
878
|
919
|
echo ' echo "Restoring microblog database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
879
|
|
- echo " mysql -u root --password=$MARIADB_PASSWORD gnusocial -o < $USB_MOUNT/backup/gnusocial.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
920
|
+ echo -n ' mysql -u root --password=$DATABASE_PASSWORD gnusocial -o < ' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
921
|
+ echo "$USB_MOUNT/backup/gnusocial.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
880
|
922
|
echo ' echo "Restoring microblog installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
881
|
923
|
echo " rsyncrypto -v -d -r $USB_MOUNT/backup/gnusocial /var/www/$MICROBLOG_DOMAIN_NAME/htdocs $USB_MOUNT/backup/gnusocial.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
882
|
924
|
echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
@@ -886,7 +928,8 @@ function create_restore_script {
|
886
|
928
|
if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
|
887
|
929
|
echo "if [ -f $USB_MOUNT/backup/redmatrix.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
888
|
930
|
echo ' echo "Restoring Red Matrix database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
889
|
|
- echo " mysql -u root --password=$MARIADB_PASSWORD redmatrix -o < $USB_MOUNT/backup/redmatrix.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
931
|
+ echo -n ' mysql -u root --password=$DATABASE_PASSWORD redmatrix -o < ' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
932
|
+ echo "$USB_MOUNT/backup/redmatrix.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
890
|
933
|
echo ' echo "Restoring Red Matrix installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
891
|
934
|
echo " rsyncrypto -v -d -r $USB_MOUNT/backup/redmatrix /var/www/$REDMATRIX_DOMAIN_NAME/htdocs $USB_MOUNT/backup/redmatrix.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
892
|
935
|
echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
@@ -896,7 +939,8 @@ function create_restore_script {
|
896
|
939
|
if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
|
897
|
940
|
echo "if [ -f $USB_MOUNT/backup/owncloud.sql ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
898
|
941
|
echo ' echo "Restoring owncloud database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
899
|
|
- echo " mysql -u root --password=$MARIADB_PASSWORD owncloud -o < $USB_MOUNT/backup/owncloud.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
942
|
+ echo -n ' mysql -u root --password=$DATABASE_PASSWORD owncloud -o < ' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
943
|
+ echo "$USB_MOUNT/backup/owncloud.sql" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
900
|
944
|
echo ' echo "Restoring Owncloud installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
901
|
945
|
echo " rsyncrypto -v -d -r $USB_MOUNT/backup/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs $USB_MOUNT/backup/owncloud.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
902
|
946
|
echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
@@ -923,7 +967,7 @@ function create_restore_script {
|
923
|
967
|
echo "rm -rf /home/$MY_USERNAME/tempfiles" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
924
|
968
|
echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
925
|
969
|
|
926
|
|
- echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
970
|
+ echo "if [ -d $USB_MOUNT/backup/mail ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
927
|
971
|
echo ' echo "Restoring emails"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
928
|
972
|
echo " rsyncrypto -v -d -r $USB_MOUNT/backup/mail /home/$MY_USERNAME/Maildir $USB_MOUNT/backup/mail.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
929
|
973
|
echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|