Pārlūkot izejas kodu

Backup gogs repositories

Bob Mottram 10 gadus atpakaļ
vecāks
revīzija
52767d00c7
1 mainītis faili ar 45 papildinājumiem un 2 dzēšanām
  1. 45
    2
      src/freedombone

+ 45
- 2
src/freedombone Parādīt failu

@@ -1733,8 +1733,8 @@ function create_backup_script {
1733 1733
       echo "if [ ! -d $USB_MOUNT/backup/gogs ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1734 1734
       echo "  mkdir -p $USB_MOUNT/backup/gogs" >> /usr/bin/$BACKUP_SCRIPT_NAME
1735 1735
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1736
-      echo "if [ ! -d $USB_MOUNT/backup/gogs2 ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1737
-      echo "  mkdir -p $USB_MOUNT/backup/gogs2" >> /usr/bin/$BACKUP_SCRIPT_NAME
1736
+      echo "if [ ! -d $USB_MOUNT/backup/gogsrepos ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1737
+      echo "  mkdir -p $USB_MOUNT/backup/gogsrepos" >> /usr/bin/$BACKUP_SCRIPT_NAME
1738 1738
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1739 1739
       echo "if [ ! -d $USB_MOUNT/backup/gogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1740 1740
       echo "  mkdir -p $USB_MOUNT/backup/gogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -1769,6 +1769,13 @@ function create_backup_script {
1769 1769
       echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1770 1770
       echo '  exit 632' >> /usr/bin/$BACKUP_SCRIPT_NAME
1771 1771
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1772
+      echo 'echo "Obtaining Gogs repos backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
1773
+      echo "rsyncrypto -v -r /home/git/gogs-repositories $USB_MOUNT/backup/gogsrepos $USB_MOUNT/backup/gogsrepos.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
1774
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
1775
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1776
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1777
+      echo '  exit 6784' >> /usr/bin/$BACKUP_SCRIPT_NAME
1778
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1772 1779
       echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
1773 1780
   fi
1774 1781
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
@@ -2116,6 +2123,7 @@ function create_restore_script {
2116 2123
   get_mariadb_gnusocial_admin_password
2117 2124
   get_mariadb_redmatrix_admin_password
2118 2125
   get_mariadb_owncloud_admin_password
2126
+  get_mariadb_git_admin_password
2119 2127
 
2120 2128
   echo '#!/bin/bash' > /usr/bin/$RESTORE_SCRIPT_NAME
2121 2129
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -2580,8 +2588,20 @@ function create_restore_script {
2580 2588
       echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2581 2589
       echo '    exit 981' >> /usr/bin/$RESTORE_SCRIPT_NAME
2582 2590
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2591
+      echo '  echo "Restoring Gogs repos"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2592
+      echo '  if [ ! -d /root/tempgogsrepos ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2593
+      echo '    mkdir /root/tempgogsrepos' >> /usr/bin/$RESTORE_SCRIPT_NAME
2594
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2595
+      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogsrepos /root/tempgogsrepos $USB_MOUNT/backup/gogsrepos.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2596
+      echo "  cp -r /root/tempgogsrepos/usb/backup/gogsrepos/git/gog-repositories/* /home/git/gogs-repositories/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2597
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2598
+      echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2599
+      echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2600
+      echo '    exit 67574' >> /usr/bin/$RESTORE_SCRIPT_NAME
2601
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2583 2602
       echo '  rm -rf /root/tempgogs' >> /usr/bin/$RESTORE_SCRIPT_NAME
2584 2603
       echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
2604
+      echo '  rm -rf /root/tempgogsrepos' >> /usr/bin/$RESTORE_SCRIPT_NAME
2585 2605
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2586 2606
       echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2587 2607
   fi
@@ -3006,6 +3026,9 @@ function backup_to_friends_servers {
3006 3026
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsdata ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3007 3027
       echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsdata' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3008 3028
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3029
+      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsrepos ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3030
+      echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsrepos' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3031
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3009 3032
       echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3010 3033
       echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3011 3034
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -3041,6 +3064,15 @@ function backup_to_friends_servers {
3041 3064
       echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3042 3065
       echo '  exit 76547' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3043 3066
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3067
+      echo 'echo "Obtaining Gogs repos backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3068
+      echo -n 'rsyncrypto -v -r /home/git/gogs-repositories $SERVER_DIRECTORY/backup/gogsrepos $SERVER_DIRECTORY/backup/gogsrepos.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3069
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3070
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3071
+      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3072
+      echo -n '  echo "Unable to encrypt gogs repos (/home/git/gogs-repositories)" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3073
+      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3074
+      echo '  exit 454637' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3075
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3044 3076
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3045 3077
   fi
3046 3078
 
@@ -3923,8 +3955,19 @@ function restore_from_friend {
3923 3955
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3924 3956
       echo '    exit 5885' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3925 3957
       echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3958
+      echo '  echo "Restoring Gogs repos"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3959
+      echo '  if [ ! -d /root/tempgogsrepos ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3960
+      echo '    mkdir /root/tempgogsrepos' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3961
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3962
+      echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/gogsrepos /root/tempgogsrepos $SERVER_DIRECTORY/backup/gogsrepos.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3963
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3964
+      echo "  cp -r /root/tempgogsrepos/remoterestore/backup/gogsrepos/git/gogs-repositories/* /home/git/gogs-repositories/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3965
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3966
+      echo '    exit 7649' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3967
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3926 3968
       echo '  rm -rf /root/tempgogs' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3927 3969
       echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3970
+      echo '  rm -rf /root/tempgogsrepos' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3928 3971
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3929 3972
       echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3930 3973
   fi