Browse Source

Redoing backup to usb

Bob Mottram 10 years ago
parent
commit
a9c28863e8
1 changed files with 68 additions and 5 deletions
  1. 68
    5
      install-freedombone.sh

+ 68
- 5
install-freedombone.sh View File

@@ -301,6 +301,61 @@ function check_hwrng {
301 301
   fi
302 302
 }
303 303
 
304
+function create_backup_script {
305
+  if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
306
+      return
307
+  fi
308
+  apt-get -y --force-yes install duplicity
309
+
310
+  echo '#!/bin/bash' > /usr/bin/$BACKUP_SCRIPT_NAME
311
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
312
+  echo "if [ ! -b $USB_DRIVE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
313
+  echo '  echo "Please attach a USB drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
314
+  echo '  exit 1' >> /usr/bin/$BACKUP_SCRIPT_NAME
315
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
316
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
317
+  echo "if [ ! -d $USB_MOUNT ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
318
+  echo "  mkdir $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
319
+  echo "  mount $USB_DRIVE $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
320
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
321
+  echo "if [ ! -d $USB_MOUNT/backup ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
322
+  echo "  mkdir $USB_MOUNT/backup" >> /usr/bin/$BACKUP_SCRIPT_NAME
323
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
324
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
325
+
326
+  echo '# Put some files into a temporary directory so that they can be easily backed up' >> /usr/bin/$BACKUP_SCRIPT_NAME
327
+  echo "if [ ! -d /home/$MY_USERNAME/tempfiles ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
328
+  echo "  mkdir /home/$MY_USERNAME/tempfiles" >> /usr/bin/$BACKUP_SCRIPT_NAME
329
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
330
+  if [[ $MICROBLOG_INSTALLED == "yes" ]]; then
331
+      echo "mysqldump --password=$MARIADB_PASSWORD gnusocial > /home/$MY_USERNAME/tempfiles/gnusocial.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
332
+  fi
333
+  if [[ $REDMATRIX_INSTALLED == "yes" ]]; then
334
+      echo "mysqldump --password=$MARIADB_PASSWORD redmatrix > /home/$MY_USERNAME/tempfiles/redmatrix.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
335
+  fi
336
+  if [[ $OWNCLOUD_INSTALLED == "yes" ]]; then
337
+      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
338
+  fi
339
+  if [[ $WIKI_INSTALLED == "yes" ]]; then
340
+      echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/$BACKUP_SCRIPT_NAME
341
+  fi
342
+  echo 'tar -czvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz /home/$MY_USERNAME/.gnupg /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/.ssh /home/$MY_USERNAME/personal' >> /usr/bin/$BACKUP_SCRIPT_NAME
343
+
344
+
345
+
346
+  echo 'exit 0' >> /usr/bin/$BACKUP_SCRIPT_NAME
347
+
348
+  echo 'create_backup_script' >> $COMPLETION_FILE
349
+}
350
+
351
+function create_restore_script {
352
+  if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
353
+      return
354
+  fi
355
+  apt-get -y --force-yes install duplicity
356
+  echo 'create_restore_script' >> $COMPLETION_FILE
357
+}
358
+
304 359
 function backup_to_friends_servers {
305 360
   if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then
306 361
       return
@@ -341,7 +396,7 @@ function backup_to_friends_servers {
341 396
   if [[ $WIKI_INSTALLED == "yes" ]]; then
342 397
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/backup2friends
343 398
   fi
344
-  echo 'tar -czvf /home/$MY_USERNAME/tempfiles/temp.tar.gz /home/$MY_USERNAME/.gnupg /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/.ssh /home/$MY_USERNAME/personal' >> /usr/bin/backup2friends
399
+  echo 'tar -czvf /home/$MY_USERNAME/tempfiles/miscfiles.tar.gz /home/$MY_USERNAME/.gnupg /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/.ssh /home/$MY_USERNAME/personal' >> /usr/bin/backup2friends
345 400
 
346 401
   echo '' >> /usr/bin/backup2friends
347 402
   echo 'while read remote_server' >> /usr/bin/backup2friends
@@ -2021,6 +2076,8 @@ function import_email {
2021 2076
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
2022 2077
   if grep -Fxq "import_email" $COMPLETION_FILE; then
2023 2078
       if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2079
+		  create_backup_script
2080
+		  create_restore_script
2024 2081
           backup_to_friends_servers
2025 2082
           echo ''
2026 2083
           echo "$EMAIL_COMPLETE_MSG"
@@ -2045,6 +2102,8 @@ function import_email {
2045 2102
   fi
2046 2103
   echo 'import_email' >> $COMPLETION_FILE
2047 2104
   if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2105
+	  create_backup_script
2106
+	  create_restore_script
2048 2107
       backup_to_friends_servers
2049 2108
       apt-get -y --force-yes autoremove
2050 2109
       # unmount any attached usb drive
@@ -2108,6 +2167,8 @@ function install_owncloud {
2108 2167
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
2109 2168
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2110 2169
       if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2170
+		  create_backup_script
2171
+		  create_restore_script
2111 2172
           backup_to_friends_servers
2112 2173
           apt-get -y --force-yes autoremove
2113 2174
           # unmount any attached usb drive
@@ -2283,6 +2344,8 @@ function install_owncloud {
2283 2344
   echo 'install_owncloud' >> $COMPLETION_FILE
2284 2345
 
2285 2346
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2347
+	  create_backup_script
2348
+	  create_restore_script
2286 2349
       backup_to_friends_servers
2287 2350
       apt-get -y --force-yes autoremove
2288 2351
       # unmount any attached usb drive
@@ -3511,7 +3574,7 @@ function install_mediagoblin {
3511 3574
   echo 'install_mediagoblin' >> $COMPLETION_FILE
3512 3575
 }
3513 3576
 
3514
-function create_backup_script {
3577
+function create_backup_script_old {
3515 3578
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
3516 3579
       return
3517 3580
   fi
@@ -3645,7 +3708,7 @@ function create_backup_script {
3645 3708
   echo 'create_backup_script' >> $COMPLETION_FILE
3646 3709
 }
3647 3710
 
3648
-function create_restore_script {
3711
+function create_restore_script_old {
3649 3712
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
3650 3713
       return
3651 3714
   fi
@@ -3799,8 +3862,6 @@ update_the_kernel
3799 3862
 enable_zram
3800 3863
 random_number_generator
3801 3864
 set_your_domain_name
3802
-create_backup_script
3803
-create_restore_script
3804 3865
 time_synchronisation
3805 3866
 configure_internet_protocol
3806 3867
 configure_ssh
@@ -3837,6 +3898,8 @@ install_gnu_social
3837 3898
 install_redmatrix
3838 3899
 install_dlna_server
3839 3900
 install_mediagoblin
3901
+create_backup_script
3902
+create_restore_script
3840 3903
 backup_to_friends_servers
3841 3904
 install_final
3842 3905
 apt-get -y --force-yes autoremove