浏览代码

Backup with gpg key

Bob Mottram 10 年前
父节点
当前提交
0c5e97cf85
共有 1 个文件被更改,包括 26 次插入12 次删除
  1. 26
    12
      install-freedombone.sh

+ 26
- 12
install-freedombone.sh 查看文件

307
   fi
307
   fi
308
   apt-get -y --force-yes install duplicity gnupg
308
   apt-get -y --force-yes install duplicity gnupg
309
 
309
 
310
+  if [ ! MY_GPG_PUBLIC_KEY_ID ]; then
311
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
312
+  fi
313
+
310
   echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
314
   echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
311
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
315
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
316
+  echo 'GPG_KEY=$1' >> /usr/bin/$BACKUP_SCRIPT_NAME
317
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
318
+  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
319
+  echo "  if [ ! $MY_GPG_PUBLIC_KEY_ID ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
320
+  echo '    echo "You need to specify a GPG key ID with which to create the backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
321
+  echo '    exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
322
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
323
+  echo "  GPG_KEY=$MY_GPG_PUBLIC_KEY_ID" >> /usr/bin/$BACKUP_SCRIPT_NAME
324
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
325
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
312
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
326
   echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
313
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
327
   echo '  echo "Please attach a USB drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
314
   echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
328
   echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
328
   echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
342
   echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
329
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
343
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
330
   if [[ $MICROBLOG_INSTALLED == "yes" ]]; then
344
   if [[ $MICROBLOG_INSTALLED == "yes" ]]; then
331
-	  echo 'echo "Obtaining GNU Social database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
345
+      echo 'echo "Obtaining GNU Social database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
332
       echo "mysqldump --password=$MARIADB_PASSWORD gnusocial > /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
346
       echo "mysqldump --password=$MARIADB_PASSWORD gnusocial > /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
333
   fi
347
   fi
334
   if [[ $REDMATRIX_INSTALLED == "yes" ]]; then
348
   if [[ $REDMATRIX_INSTALLED == "yes" ]]; then
335
-	  echo 'echo "Obtaining Red Matrix database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
349
+      echo 'echo "Obtaining Red Matrix database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
336
       echo "mysqldump --password=$MARIADB_PASSWORD redmatrix > /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
350
       echo "mysqldump --password=$MARIADB_PASSWORD redmatrix > /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
337
   fi
351
   fi
338
   if [[ $OWNCLOUD_INSTALLED == "yes" ]]; then
352
   if [[ $OWNCLOUD_INSTALLED == "yes" ]]; then
339
-	  echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
353
+      echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
340
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/owncloud.tar.gz /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/config /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_SCRIPT_NAME
354
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/owncloud.tar.gz /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/config /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs/data" >> /usr/bin/$BACKUP_SCRIPT_NAME
341
   fi
355
   fi
342
   if [[ $WIKI_INSTALLED == "yes" ]]; then
356
   if [[ $WIKI_INSTALLED == "yes" ]]; then
343
-	  echo 'echo "Obtaining wiki data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
357
+      echo 'echo "Obtaining wiki data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
344
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
358
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
345
   fi
359
   fi
346
   echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
360
   echo 'echo "Archiving miscellaneous files"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2122
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
2136
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
2123
   if grep -Fxq "import_email" $COMPLETION_FILE; then
2137
   if grep -Fxq "import_email" $COMPLETION_FILE; then
2124
       if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2138
       if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2125
-		  create_backup_script
2126
-		  create_restore_script
2139
+          create_backup_script
2140
+          create_restore_script
2127
           backup_to_friends_servers
2141
           backup_to_friends_servers
2128
           echo ''
2142
           echo ''
2129
           echo "$EMAIL_COMPLETE_MSG"
2143
           echo "$EMAIL_COMPLETE_MSG"
2148
   fi
2162
   fi
2149
   echo 'import_email' >> $COMPLETION_FILE
2163
   echo 'import_email' >> $COMPLETION_FILE
2150
   if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2164
   if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2151
-	  create_backup_script
2152
-	  create_restore_script
2165
+      create_backup_script
2166
+      create_restore_script
2153
       backup_to_friends_servers
2167
       backup_to_friends_servers
2154
       apt-get -y --force-yes autoremove
2168
       apt-get -y --force-yes autoremove
2155
       # unmount any attached usb drive
2169
       # unmount any attached usb drive
2213
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
2227
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
2214
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2228
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2215
       if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2229
       if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2216
-		  create_backup_script
2217
-		  create_restore_script
2230
+          create_backup_script
2231
+          create_restore_script
2218
           backup_to_friends_servers
2232
           backup_to_friends_servers
2219
           apt-get -y --force-yes autoremove
2233
           apt-get -y --force-yes autoremove
2220
           # unmount any attached usb drive
2234
           # unmount any attached usb drive
2390
   echo 'install_owncloud' >> $COMPLETION_FILE
2404
   echo 'install_owncloud' >> $COMPLETION_FILE
2391
 
2405
 
2392
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2406
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2393
-	  create_backup_script
2394
-	  create_restore_script
2407
+      create_backup_script
2408
+      create_restore_script
2395
       backup_to_friends_servers
2409
       backup_to_friends_servers
2396
       apt-get -y --force-yes autoremove
2410
       apt-get -y --force-yes autoremove
2397
       # unmount any attached usb drive
2411
       # unmount any attached usb drive