Browse Source

Tidying backup script

Bob Mottram 9 years ago
parent
commit
96152ab7b1
1 changed files with 33 additions and 85 deletions
  1. 33
    85
      src/freedombone

+ 33
- 85
src/freedombone View File

@@ -2438,6 +2438,33 @@ function backup_directory_to_usb {
2438 2438
   fi
2439 2439
 }
2440 2440
 
2441
+function backup_database {
2442
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2443
+  echo "if [ ! -d $USB_MOUNT/backup/${1} ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2444
+  echo "  mkdir -p $USB_MOUNT/backup/${1}" >> /usr/bin/$BACKUP_SCRIPT_NAME
2445
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2446
+  echo "if [ ! -d $USB_MOUNT/backup/${1}data ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2447
+  echo "  mkdir -p $USB_MOUNT/backup/${1}data" >> /usr/bin/$BACKUP_SCRIPT_NAME
2448
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2449
+  echo "if [ ! -d /root/temp${1}data ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2450
+  echo "  mkdir -p /root/temp${1}data" >> /usr/bin/$BACKUP_SCRIPT_NAME
2451
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2452
+  echo "echo \"Obtaining ${1} database backup\"" >> /usr/bin/$BACKUP_SCRIPT_NAME
2453
+  echo -n 'mysqldump --password=$DATABASE_PASSWORD ' >> /usr/bin/$BACKUP_SCRIPT_NAME
2454
+  echo "${1} > /root/temp${1}data/${1}.sql" >> /usr/bin/$BACKUP_SCRIPT_NAME
2455
+  echo "if [ ! -s /root/temp${1}data/${1}.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2456
+  echo "  echo \"${1} database could not be saved\"" >> /usr/bin/$BACKUP_SCRIPT_NAME
2457
+  echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2458
+  echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2459
+  echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2460
+  echo "  shred -zu /root/temp${1}data/*" >> /usr/bin/$BACKUP_SCRIPT_NAME
2461
+  echo "  rm -rf /root/temp${1}data" >> /usr/bin/$BACKUP_SCRIPT_NAME
2462
+  echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2463
+  echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2464
+  echo '  exit 296' >> /usr/bin/$BACKUP_SCRIPT_NAME
2465
+  echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2466
+}
2467
+
2441 2468
 function create_backup_script {
2442 2469
   if grep -Fxq "create_backup_script" $COMPLETION_FILE; then
2443 2470
       return
@@ -2517,28 +2544,7 @@ function create_backup_script {
2517 2544
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2518 2545
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
2519 2546
       BACKUP_INCLUDES_DATABASES="yes"
2520
-      echo "if [ ! -d $USB_MOUNT/backup/gnusocial ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2521
-      echo "  mkdir -p $USB_MOUNT/backup/gnusocial" >> /usr/bin/$BACKUP_SCRIPT_NAME
2522
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2523
-      echo "if [ ! -d $USB_MOUNT/backup/gnusocialdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2524
-      echo "  mkdir -p $USB_MOUNT/backup/gnusocialdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2525
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2526
-      echo "if [ ! -d /root/tempgnusocialdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2527
-      echo "  mkdir -p /root/tempgnusocialdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2528
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2529
-      echo 'echo "Obtaining GNU Social database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2530
-      echo 'mysqldump --password=$DATABASE_PASSWORD gnusocial > /root/tempgnusocialdata/gnusocial.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
2531
-      echo "if [ ! -s /root/tempgnusocialdata/gnusocial.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2532
-      echo '  echo "GNU social database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2533
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2534
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2535
-      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2536
-      echo '  shred -zu /root/tempgnusocialdata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2537
-      echo '  rm -rf /root/tempgnusocialdata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2538
-      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2539
-      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2540
-      echo '  exit 296' >> /usr/bin/$BACKUP_SCRIPT_NAME
2541
-      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2547
+      backup_database gnusocial
2542 2548
       backup_directory_to_usb /root/tempgnusocialdata gnusocialdata
2543 2549
       echo 'echo "Backing up GNU social installation"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2544 2550
       backup_directory_to_usb /var/www/$MICROBLOG_DOMAIN_NAME/htdocs gnusocial
@@ -2546,28 +2552,7 @@ function create_backup_script {
2546 2552
   fi
2547 2553
   if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
2548 2554
       BACKUP_INCLUDES_DATABASES="yes"
2549
-      echo "if [ ! -d $USB_MOUNT/backup/hubzilla ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2550
-      echo "  mkdir -p $USB_MOUNT/backup/hubzilla" >> /usr/bin/$BACKUP_SCRIPT_NAME
2551
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2552
-      echo "if [ ! -d $USB_MOUNT/backup/hubzilladata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2553
-      echo "  mkdir -p $USB_MOUNT/backup/hubzilladata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2554
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2555
-      echo "if [ ! -d /root/temphubzilladata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2556
-      echo "  mkdir -p /root/temphubzilladata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2557
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2558
-      echo 'echo "Obtaining Hubzilla database backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2559
-      echo 'mysqldump --password=$DATABASE_PASSWORD hubzilla > /root/temphubzilladata/hubzilla.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
2560
-      echo "if [ ! -s /root/temphubzilladata/hubzilla.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2561
-      echo '  echo "Hubzilla database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2562
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2563
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2564
-      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2565
-      echo '  shred -zu /root/temphubzilladata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2566
-      echo '  rm -rf /root/temphubzilladata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2567
-      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2568
-      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2569
-      echo '  exit 378' >> /usr/bin/$BACKUP_SCRIPT_NAME
2570
-      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2555
+      backup_database hubzilla
2571 2556
       backup_directory_to_usb /root/temphubzilladata hubzilladata
2572 2557
       echo 'echo "Backing up Hubzilla installation"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2573 2558
       backup_directory_to_usb /var/www/$HUBZILLA_DOMAIN_NAME/htdocs hubzilla
@@ -2575,30 +2560,10 @@ function create_backup_script {
2575 2560
   fi
2576 2561
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
2577 2562
       BACKUP_INCLUDES_DATABASES="yes"
2578
-      echo "if [ ! -d $USB_MOUNT/backup/owncloud ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2579
-      echo "  mkdir -p $USB_MOUNT/backup/owncloud" >> /usr/bin/$BACKUP_SCRIPT_NAME
2580
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2581 2563
       echo "if [ ! -d $USB_MOUNT/backup/owncloud2 ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2582 2564
       echo "  mkdir -p $USB_MOUNT/backup/owncloud2" >> /usr/bin/$BACKUP_SCRIPT_NAME
2583 2565
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2584
-      echo "if [ ! -d $USB_MOUNT/backup/ownclouddata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2585
-      echo "  mkdir -p $USB_MOUNT/backup/ownclouddata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2586
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2587
-      echo "if [ ! -d /root/tempownclouddata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2588
-      echo "  mkdir -p /root/tempownclouddata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2589
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2590
-      echo 'mysqldump --password=$DATABASE_PASSWORD owncloud > /root/tempownclouddata/owncloud.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
2591
-      echo "if [ ! -s /root/tempownclouddata/owncloud.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2592
-      echo '  echo "Owncloud database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2593
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2594
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2595
-      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2596
-      echo '  shred -zu /root/tempownclouddata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2597
-      echo '  rm -rf /root/tempownclouddata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2598
-      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2599
-      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2600
-      echo '  exit 377' >> /usr/bin/$BACKUP_SCRIPT_NAME
2601
-      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2566
+      backup_database owncloud
2602 2567
       backup_directory_to_usb /root/tempownclouddata ownclouddata
2603 2568
       echo 'echo "Obtaining Owncloud data backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2604 2569
       backup_directory_to_usb /var/lib/owncloud owncloud
@@ -2607,30 +2572,13 @@ function create_backup_script {
2607 2572
   fi
2608 2573
   if grep -Fxq "install_gogs" $COMPLETION_FILE; then
2609 2574
       BACKUP_INCLUDES_DATABASES="yes"
2610
-      echo "if [ ! -d $USB_MOUNT/backup/gogs ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2611
-      echo "  mkdir -p $USB_MOUNT/backup/gogs" >> /usr/bin/$BACKUP_SCRIPT_NAME
2612
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2613 2575
       echo "if [ ! -d $USB_MOUNT/backup/gogsrepos ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2614 2576
       echo "  mkdir -p $USB_MOUNT/backup/gogsrepos" >> /usr/bin/$BACKUP_SCRIPT_NAME
2615 2577
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2616
-      echo "if [ ! -d $USB_MOUNT/backup/gogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2617
-      echo "  mkdir -p $USB_MOUNT/backup/gogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2578
+      echo "if [ ! -d $USB_MOUNT/backup/gogsssh ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2579
+      echo "  mkdir -p $USB_MOUNT/backup/gogsssh" >> /usr/bin/$BACKUP_SCRIPT_NAME
2618 2580
       echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2619
-      echo "if [ ! -d /root/tempgogsdata ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2620
-      echo "  mkdir -p /root/tempgogsdata" >> /usr/bin/$BACKUP_SCRIPT_NAME
2621
-      echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2622
-      echo 'mysqldump --password=$DATABASE_PASSWORD gogs > /root/tempgogsdata/gogs.sql' >> /usr/bin/$BACKUP_SCRIPT_NAME
2623
-      echo "if [ ! -s /root/tempgogsdata/gogs.sql ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2624
-      echo '  echo "Gogs database could not be saved"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2625
-      echo '  if [ ! $DATABASE_PASSWORD ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2626
-      echo "    echo 'No MariaDB password was given'" >> /usr/bin/$BACKUP_SCRIPT_NAME
2627
-      echo "  fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2628
-      echo '  shred -zu /root/tempgogsdata/*' >> /usr/bin/$BACKUP_SCRIPT_NAME
2629
-      echo '  rm -rf /root/tempgogsdata' >> /usr/bin/$BACKUP_SCRIPT_NAME
2630
-      echo "  umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2631
-      echo "  rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2632
-      echo '  exit 377' >> /usr/bin/$BACKUP_SCRIPT_NAME
2633
-      echo "fi" >> /usr/bin/$BACKUP_SCRIPT_NAME
2581
+      backup_database gogs
2634 2582
       backup_directory_to_usb /root/tempgogsdata gogsdata
2635 2583
       echo 'echo "Obtaining Gogs settings backup"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2636 2584
       backup_directory_to_usb /home/git/go/src/github.com/gogits/gogs/custom gogs