Bob Mottram 10 лет назад
Родитель
Сommit
a9c28863e8
1 измененных файлов: 68 добавлений и 5 удалений
  1. 68
    5
      install-freedombone.sh

+ 68
- 5
install-freedombone.sh Просмотреть файл

301
   fi
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
 function backup_to_friends_servers {
359
 function backup_to_friends_servers {
305
   if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then
360
   if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then
306
       return
361
       return
341
   if [[ $WIKI_INSTALLED == "yes" ]]; then
396
   if [[ $WIKI_INSTALLED == "yes" ]]; then
342
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/backup2friends
397
       echo "tar -czvf /home/$MY_USERNAME/tempfiles/wiki.tar.gz /var/www/$WIKI_DOMAIN_NAME/htdocs" >> /usr/bin/backup2friends
343
   fi
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
   echo '' >> /usr/bin/backup2friends
401
   echo '' >> /usr/bin/backup2friends
347
   echo 'while read remote_server' >> /usr/bin/backup2friends
402
   echo 'while read remote_server' >> /usr/bin/backup2friends
2021
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
2076
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
2022
   if grep -Fxq "import_email" $COMPLETION_FILE; then
2077
   if grep -Fxq "import_email" $COMPLETION_FILE; then
2023
       if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2078
       if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2079
+		  create_backup_script
2080
+		  create_restore_script
2024
           backup_to_friends_servers
2081
           backup_to_friends_servers
2025
           echo ''
2082
           echo ''
2026
           echo "$EMAIL_COMPLETE_MSG"
2083
           echo "$EMAIL_COMPLETE_MSG"
2045
   fi
2102
   fi
2046
   echo 'import_email' >> $COMPLETION_FILE
2103
   echo 'import_email' >> $COMPLETION_FILE
2047
   if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2104
   if [[ $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
2105
+	  create_backup_script
2106
+	  create_restore_script
2048
       backup_to_friends_servers
2107
       backup_to_friends_servers
2049
       apt-get -y --force-yes autoremove
2108
       apt-get -y --force-yes autoremove
2050
       # unmount any attached usb drive
2109
       # unmount any attached usb drive
2108
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
2167
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
2109
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2168
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2110
       if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2169
       if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2170
+		  create_backup_script
2171
+		  create_restore_script
2111
           backup_to_friends_servers
2172
           backup_to_friends_servers
2112
           apt-get -y --force-yes autoremove
2173
           apt-get -y --force-yes autoremove
2113
           # unmount any attached usb drive
2174
           # unmount any attached usb drive
2283
   echo 'install_owncloud' >> $COMPLETION_FILE
2344
   echo 'install_owncloud' >> $COMPLETION_FILE
2284
 
2345
 
2285
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2346
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
2347
+	  create_backup_script
2348
+	  create_restore_script
2286
       backup_to_friends_servers
2349
       backup_to_friends_servers
2287
       apt-get -y --force-yes autoremove
2350
       apt-get -y --force-yes autoremove
2288
       # unmount any attached usb drive
2351
       # unmount any attached usb drive
3511
   echo 'install_mediagoblin' >> $COMPLETION_FILE
3574
   echo 'install_mediagoblin' >> $COMPLETION_FILE
3512
 }
3575
 }
3513
 
3576
 
3514
-function create_backup_script {
3577
+function create_backup_script_old {
3515
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
3578
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
3516
       return
3579
       return
3517
   fi
3580
   fi
3645
   echo 'create_backup_script' >> $COMPLETION_FILE
3708
   echo 'create_backup_script' >> $COMPLETION_FILE
3646
 }
3709
 }
3647
 
3710
 
3648
-function create_restore_script {
3711
+function create_restore_script_old {
3649
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
3712
   if grep -Fxq "create_restore_script" $COMPLETION_FILE; then
3650
       return
3713
       return
3651
   fi
3714
   fi
3799
 enable_zram
3862
 enable_zram
3800
 random_number_generator
3863
 random_number_generator
3801
 set_your_domain_name
3864
 set_your_domain_name
3802
-create_backup_script
3803
-create_restore_script
3804
 time_synchronisation
3865
 time_synchronisation
3805
 configure_internet_protocol
3866
 configure_internet_protocol
3806
 configure_ssh
3867
 configure_ssh
3837
 install_redmatrix
3898
 install_redmatrix
3838
 install_dlna_server
3899
 install_dlna_server
3839
 install_mediagoblin
3900
 install_mediagoblin
3901
+create_backup_script
3902
+create_restore_script
3840
 backup_to_friends_servers
3903
 backup_to_friends_servers
3841
 install_final
3904
 install_final
3842
 apt-get -y --force-yes autoremove
3905
 apt-get -y --force-yes autoremove