浏览代码

gogs backup

Bob Mottram 10 年前
父节点
当前提交
e22426569a
共有 1 个文件被更改,包括 44 次插入1 次删除
  1. 44
    1
      src/freedombone

+ 44
- 1
src/freedombone 查看文件

@@ -1728,6 +1728,49 @@ function create_backup_script {
1728 1728
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1729 1729
       echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
1730 1730
   fi
1731
+  if grep -Fxq "install_gogs" $COMPLETION_FILE; then
1732
+      BACKUP_INCLUDES_DATABASES="yes"
1733
+      echo "if [ ! -d $USB_MOUNT/backup/gogs ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1734
+      echo "  mkdir -p $USB_MOUNT/backup/gogs" >> /usr/bin/$BACKUP_SCRIPT_NAME
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
1738
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1739
+      echo "if [ ! -d $USB_MOUNT/backup/gogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1740
+      echo "  mkdir -p $USB_MOUNT/backup/gogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
1741
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1742
+      echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1743
+      echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
1744
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1745
+      echo 'mysqldump --password=$DATABASE_PASSWORD gogs > /root/tempgogsdata/gogs.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
1746
+      echo "if [ ! -s /root/tempgogsdata/gogs.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1747
+      echo '  echo "Gogs database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
1748
+      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
1749
+      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
1750
+      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
1751
+      echo '  shred -zu /root/tempgogsdata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
1752
+      echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$BACKUP_SCRIPT_NAME
1753
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1754
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1755
+      echo '  exit 377' >> /usr/bin/$BACKUP_SCRIPT_NAME
1756
+      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
1757
+      echo "rsyncrypto -v -r /root/tempgogsdata $USB_MOUNT/backup/gogsdata $USB_MOUNT/backup/gogsdata.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
1758
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
1759
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1760
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1761
+      echo '   exit 188' >> /usr/bin/$BACKUP_SCRIPT_NAME
1762
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1763
+      echo 'shred -zu /root/tempgogsdata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
1764
+      echo 'rm -rf /root/tempgogsdata' >> /usr/bin/$BACKUP_SCRIPT_NAME
1765
+      echo 'echo "Obtaining Gogs data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
1766
+      echo "rsyncrypto -v -r /etc/gocode/src/github.com/gogits/gogs $USB_MOUNT/backup/gogs $USB_MOUNT/backup/gogs.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
1767
+      echo 'if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
1768
+      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1769
+      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
1770
+      echo '  exit 632' >> /usr/bin/$BACKUP_SCRIPT_NAME
1771
+      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
1772
+      echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
1773
+  fi
1731 1774
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
1732 1775
       echo "if [ ! -d $USB_MOUNT/backup/wiki ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
1733 1776
       echo "  mkdir -p $USB_MOUNT/backup/wiki" >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -6549,7 +6592,7 @@ quit" > $INSTALL_DIR/batch.sql
6549 6592
   chmod 600 $INSTALL_DIR/batch.sql
6550 6593
   mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
6551 6594
   shred -zu $INSTALL_DIR/batch.sql
6552
-  
6595
+
6553 6596
   echo '#! /bin/sh' > /etc/init.d/gogs
6554 6597
   echo '### BEGIN INIT INFO' >> /etc/init.d/gogs
6555 6598
   echo '# Provides:          gogs' >> /etc/init.d/gogs