瀏覽代碼

Backup gogs authorized keys

Bob Mottram 10 年之前
父節點
當前提交
1918b93de7
共有 1 個檔案被更改,包括 55 行新增0 行删除
  1. 55
    0
      src/freedombone

+ 55
- 0
src/freedombone 查看文件

@@ -1742,6 +1742,9 @@ function create_backup_script {
1742 1742
       echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1743 1743
       echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
1744 1744
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1745
+      echo "if [ ! -d /root/tempgogsssh ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1746
+      echo "  mkdir -p /root/tempgogsssh" >> /usr/bin/$BACKUP_SCRIPT_NAME
1747
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1745 1748
       echo 'mysqldump --password=$DATABASE_PASSWORD gogs > /root/tempgogsdata/gogs.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
1746 1749
       echo "if [ ! -s /root/tempgogsdata/gogs.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1747 1750
       echo '  echo "Gogs database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -1776,6 +1779,13 @@ function create_backup_script {
1776 1779
       echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1777 1780
       echo '  exit 6784' >> /usr/bin/$BACKUP_SCRIPT_NAME
1778 1781
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1782
+      echo 'echo "Obtaining Gogs authorized_keys backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
1783
+      echo "rsyncrypto -v -r /home/git/.ssh $USB_MOUNT/backup/gogsssh $USB_MOUNT/backup/gogsssh.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
1784
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
1785
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1786
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1787
+      echo '  exit 58932' >> /usr/bin/$BACKUP_SCRIPT_NAME
1788
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1779 1789
       echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
1780 1790
   fi
1781 1791
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
@@ -2599,9 +2609,25 @@ function create_restore_script {
2599 2609
       echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2600 2610
       echo '    exit 67574' >> /usr/bin/$RESTORE_SCRIPT_NAME
2601 2611
       echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2612
+      echo '  echo "Restoring Gogs authorized_keys"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2613
+      echo '  if [ ! -d /root/tempgogsssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2614
+      echo '    mkdir /root/tempgogsssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
2615
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2616
+      echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/gogsssh /root/tempgogsssh $USB_MOUNT/backup/gogsssh.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2617
+      echo '  if [ ! -d /home/git/.ssh ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2618
+      echo '    mkdir /home/git/.ssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
2619
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2620
+      echo "  cp -r /root/tempgogsssh/usb/backup/gogsssh/git/.ssh/* /home/git/.ssh/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2621
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2622
+      echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2623
+      echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2624
+      echo '    exit 8463' >> /usr/bin/$RESTORE_SCRIPT_NAME
2625
+      echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2602 2626
       echo '  rm -rf /root/tempgogs' >> /usr/bin/$RESTORE_SCRIPT_NAME
2603 2627
       echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_SCRIPT_NAME
2604 2628
       echo '  rm -rf /root/tempgogsrepos' >> /usr/bin/$RESTORE_SCRIPT_NAME
2629
+      echo '  rm -rf /root/tempgogsssh' >> /usr/bin/$RESTORE_SCRIPT_NAME
2630
+      echo '  chown -R git:git /home/git' >> /usr/bin/$RESTORE_SCRIPT_NAME
2605 2631
       echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2606 2632
       echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2607 2633
   fi
@@ -3029,6 +3055,9 @@ function backup_to_friends_servers {
3029 3055
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsrepos ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3030 3056
       echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsrepos' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3031 3057
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3058
+      echo 'if [ ! -d $SERVER_DIRECTORY/backup/gogsssh ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3059
+      echo '  mkdir -p $SERVER_DIRECTORY/backup/gogsssh' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3060
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3032 3061
       echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3033 3062
       echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3034 3063
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -3073,6 +3102,17 @@ function backup_to_friends_servers {
3073 3102
       echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3074 3103
       echo '  exit 454637' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3075 3104
       echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3105
+
3106
+      echo 'echo "Obtaining Gogs authorized_keys backup"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3107
+      echo -n 'rsyncrypto -v -r /home/git/.ssh $SERVER_DIRECTORY/backup/gogsssh $SERVER_DIRECTORY/backup/gogsssh.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3108
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3109
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3110
+      echo '  # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3111
+      echo -n '  echo "Unable to encrypt gogs authorized_keys (/home/git/.ssh)" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3112
+      echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3113
+      echo '  exit 76864' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3114
+      echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3115
+
3076 3116
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3077 3117
   fi
3078 3118
 
@@ -3965,9 +4005,24 @@ function restore_from_friend {
3965 4005
       echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3966 4006
       echo '    exit 7649' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3967 4007
       echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4008
+      echo '  echo "Restoring Gogs authorized_keys"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4009
+      echo '  if [ ! -d /root/tempgogsssh ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4010
+      echo '    mkdir /root/tempgogsssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4011
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4012
+      echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/gogsssh /root/tempgogsssh $SERVER_DIRECTORY/backup/gogsssh.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4013
+      echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4014
+      echo '  if [ ! -d /home/git/.ssh ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4015
+      echo '    mkdir /home/git/.ssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4016
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4017
+      echo "  cp -r /root/tempgogsssh/remoterestore/backup/gogsssh/git/.ssh/* /home/git/.ssh/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4018
+      echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4019
+      echo '    exit 74239' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4020
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3968 4021
       echo '  rm -rf /root/tempgogs' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3969 4022
       echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3970 4023
       echo '  rm -rf /root/tempgogsrepos' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4024
+      echo '  rm -rf /root/tempgogsssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4025
+      echo '  chown -R git:git /home/git' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3971 4026
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3972 4027
       echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3973 4028
   fi