Browse Source

Tidying backup to friends script

Bob Mottram 9 years ago
parent
commit
b41b4652c2
1 changed files with 32 additions and 84 deletions
  1. 32
    84
      src/freedombone

+ 32
- 84
src/freedombone View File

@@ -3650,6 +3650,34 @@ function backup_directory_to_friend {
3650 3650
   fi
3651 3651
 }
3652 3652
 
3653
+function backup_database_to_friend {
3654
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3655
+  echo "if [ ! -d $SERVER_DIRECTORY/backup/${1} ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3656
+  echo "  mkdir -p $SERVER_DIRECTORY/backup/${1}" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3657
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3658
+  echo "if [ ! -d $SERVER_DIRECTORY/backup/${1}data ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3659
+  echo "  mkdir -p $SERVER_DIRECTORY/backup/${1}data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3660
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3661
+  echo "if [ ! -d /root/temp${1}data ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3662
+  echo "  mkdir -p /root/temp${1}data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3663
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3664
+  echo "echo \"Obtaining ${1} database backup\"" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3665
+  echo 'mysqldump --password=$DATABASE_PASSWORD ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3666
+  echo "${1} > /root/temp${1}data/${1}.sql" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3667
+  echo "if [ ! -s /root/temp${1}data/${1}.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3668
+  echo "  echo \"${1} database could not be saved\"" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3669
+  echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3670
+  echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3671
+  echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3672
+  echo "  shred -zu /root/temp${1}data/*" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3673
+  echo "  rm -rf /root/temp${1}data" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3674
+  echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3675
+  echo -n "  echo \"Unable to export ${1} database\" | mail -s \"Freedombone backup to friends\" " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3676
+  echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3677
+  echo '  exit 5738' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3678
+  echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3679
+}
3680
+
3653 3681
 function backup_to_friends_servers {
3654 3682
   if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then
3655 3683
       return
@@ -3722,29 +3750,7 @@ function backup_to_friends_servers {
3722 3750
 
3723 3751
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
3724 3752
       BACKUP_INCLUDES_DATABASES="yes"
3725
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gnusocial ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3726
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/gnusocial' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3727
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3728
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gnusocialdata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3729
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/gnusocialdata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3730
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3731
-      echo "if [ ! -d /root/tempgnusocialdata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3732
-      echo "  mkdir -p /root/tempgnusocialdata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3733
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3734
-      echo 'echo "Obtaining GNU Social database backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3735
-      echo 'mysqldump --password=$DATABASE_PASSWORD gnusocial > /root/tempgnusocialdata/gnusocial.sql' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3736
-      echo "if [ ! -s /root/tempgnusocialdata/gnusocial.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3737
-      echo '  echo "GNU social database could not be saved"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3738
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3739
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3740
-      echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3741
-      echo '  shred -zu /root/tempgnusocialdata/*' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3742
-      echo '  rm -rf /root/tempgnusocialdata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3743
-      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3744
-      echo -n '  echo "Unable to export gnusocial database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3745
-      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3746
-      echo '  exit 296' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3747
-      echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3753
+      backup_database_to_friend gnusocial
3748 3754
       backup_directory_to_friend /root/tempgnusocialdata gnusocialdata
3749 3755
       echo 'echo "Backing up GNU social installation"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3750 3756
       backup_directory_to_friend /var/www/$MICROBLOG_DOMAIN_NAME/htdocs gnusocial
@@ -3752,27 +3758,7 @@ function backup_to_friends_servers {
3752 3758
   fi
3753 3759
   if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
3754 3760
       BACKUP_INCLUDES_DATABASES="yes"
3755
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/hubzilla ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3756
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/hubzilla' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3757
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3758
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/hubzilladata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3759
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/hubzilladata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3760
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3761
-      echo "if [ ! -d /root/temphubzilladata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3762
-      echo "  mkdir -p /root/temphubzilladata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3763
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3764
-      echo 'echo "Obtaining Hubzilla database backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3765
-      echo 'mysqldump --password=$DATABASE_PASSWORD hubzilla > /root/temphubzilladata/hubzilla.sql' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3766
-      echo "if [ ! -s /root/temphubzilladata/hubzilla.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3767
-      echo '  echo "Hubzilla database could not be saved"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3768
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3769
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3770
-      echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3771
-      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3772
-      echo -n '  echo "Unable to export hubzilla database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3773
-      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3774
-      echo '  exit 378' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3775
-      echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3761
+      backup_database_to_friend hubzilla
3776 3762
       backup_directory_to_friend /root/temphubzilladata hubzilladata
3777 3763
       echo 'echo "Backing up Hubzilla installation"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3778 3764
       backup_directory_to_friend /var/www/$HUBZILLA_DOMAIN_NAME/htdocs hubzilla
@@ -3780,29 +3766,10 @@ function backup_to_friends_servers {
3780 3766
   fi
3781 3767
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
3782 3768
       BACKUP_INCLUDES_DATABASES="yes"
3783
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/owncloud ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3784
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/owncloud' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3785
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3786 3769
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/owncloud2 ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3787 3770
       echo '  mkdir -p $SERVER_DIRECTORY/backup/owncloud2' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3788 3771
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3789
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/ownclouddata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3790
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/ownclouddata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3791
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3792
-      echo "if [ ! -d /root/tempownclouddata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3793
-      echo "  mkdir -p /root/tempownclouddata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3794
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3795
-      echo 'mysqldump --password=$DATABASE_PASSWORD owncloud > /root/tempownclouddata/owncloud.sql' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3796
-      echo "if [ ! -s /root/tempownclouddata/owncloud.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3797
-      echo '  echo "Owncloud database could not be saved"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3798
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3799
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3800
-      echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3801
-      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3802
-      echo -n '  echo "Unable to export owncloud database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3803
-      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3804
-      echo '  exit 377' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3805
-      echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3772
+      backup_database_to_friend owncloud
3806 3773
       backup_directory_to_friend /root/tempownclouddata ownclouddata
3807 3774
       echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3808 3775
       backup_directory_to_friend /var/lib/owncloud owncloud
@@ -3812,32 +3779,13 @@ function backup_to_friends_servers {
3812 3779
 
3813 3780
   if grep -Fxq "install_gogs" $COMPLETION_FILE; then
3814 3781
       BACKUP_INCLUDES_DATABASES="yes"
3815
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogs ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3816
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/gogs' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3817
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3818
-      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsdata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3819
-      echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsdata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3820
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3821 3782
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsrepos ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3822 3783
       echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsrepos' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3823 3784
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3824 3785
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsssh ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3825 3786
       echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsssh' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3826 3787
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3827
-      echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3828
-      echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3829
-      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3830
-      echo 'mysqldump --password=$DATABASE_PASSWORD gogs > /root/tempgogsdata/gogs.sql' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3831
-      echo "if [ ! -s /root/tempgogsdata/gogs.sql ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3832
-      echo '  echo "Gogs database could not be saved"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3833
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3834
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3835
-      echo "  fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3836
-      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3837
-      echo -n '  echo "Unable to export gogs database" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3838
-      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3839
-      echo '  exit 6785' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3840
-      echo "fi" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3788
+      backup_database_to_friend gogs
3841 3789
       backup_directory_to_friend /root/tempgogsdata gogsdata
3842 3790
       echo 'echo "Obtaining Gogs settings backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3843 3791
       backup_directory_to_friend /home/git/go/src/github.com/gogits/gogs/custom gogs