소스 검색

Interactive entry of remote backup details

Bob Mottram 10 년 전
부모
커밋
442fc05c88
1개의 변경된 파일54개의 추가작업 그리고 12개의 파일을 삭제
  1. 54
    12
      src/freedombone

+ 54
- 12
src/freedombone 파일 보기

@@ -380,8 +380,49 @@ function show_help {
380 380
 
381 381
 
382 382
 function interactive_configuration_remote_backups {
383
-    # TODO
384
-    exit 0
383
+  # clear any existing list
384
+  if [ -f $FRIENDS_SERVERS_LIST ]; then
385
+      rm -f $FRIENDS_SERVERS_LIST
386
+      touch $FRIENDS_SERVERS_LIST
387
+  fi
388
+  # number of entries made
389
+  entering_remote_backups_ctr=1
390
+
391
+  entering_remote_backups_done="no"
392
+  while [[ $entering_remote_backups_done == "no" ]]
393
+  do
394
+      data=$(tempfile 2>/dev/null)
395
+      trap "rm -f $data" 0 1 2 5 15
396
+      dialog --backtitle "Freedombone Configuration" \
397
+          --title "Remote Backup ${entering_remote_backups_ctr}" \
398
+          --form "\nPlease specify the SSH login details:" 11 55 4 \
399
+          "Username:" 1 1 "" 1 16 16 15 \
400
+          "Domain:" 2 1 "" 2 16 16 15 \
401
+          "SSH port:" 3 1 "22" 3 16 5 4 \
402
+          "Password:" 4 1 "" 4 16 20 100 \
403
+          2> $data
404
+      sel=$?
405
+      case $sel in
406
+          1) entering_remote_backups_done="yes";;
407
+          255) entering_remote_backups_done="yes";;
408
+      esac
409
+      remote_ssh_username=$(cat $data | sed -n 1p)
410
+      remote_ssh_domain=$(cat $data | sed -n 2p)
411
+      remote_ssh_port=$(cat $data | sed -n 3p)
412
+      remote_ssh_password=$(cat $data | sed -n 4p)
413
+      if [[ $remote_ssh_username != "" && \
414
+          $remote_ssh_domain != "" && \
415
+          $remote_ssh_port != "" && \
416
+          $remote_ssh_password != "" ]]; then
417
+          echo "$remote_ssh_username@$remote_ssh_domain:$remote_ssh_port//home/$remote_ssh_username $remote_ssh_password" >> $FRIENDS_SERVERS_LIST
418
+      else
419
+          entering_remote_backups_done="yes"
420
+      fi
421
+      entering_remote_backups_ctr=$((entering_remote_backups_ctr + 1))
422
+  done
423
+  if [ -f $FRIENDS_SERVERS_LIST ]; then
424
+      chown $MY_USERNAME:$MY_USERNAME $FRIENDS_SERVERS_LIST
425
+  fi
385 426
 }
386 427
 
387 428
 function save_configuration_file {
@@ -601,7 +642,6 @@ function interactive_configuration {
601 642
       1) exit 0;;
602 643
       255) exit 0;;
603 644
   esac
604
-  echo "result $(cat $data)"
605 645
   LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
606 646
   ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
607 647
   echo "local $LOCAL_NETWORK_STATIC_IP_ADDRESS"
@@ -659,7 +699,7 @@ function interactive_configuration {
659 699
           DOMAIN_NAME=$WIKI_DOMAIN_NAME
660 700
       fi
661 701
 
662
-      if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
702
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
663 703
           data=$(tempfile 2>/dev/null)
664 704
           trap "rm -f $data" 0 1 2 5 15
665 705
           dialog --backtitle "Freedombone Configuration" \
@@ -673,7 +713,7 @@ function interactive_configuration {
673 713
           if [ ! $WIKI_FREEDNS_SUBDOMAIN_CODE ]; then
674 714
               exit 5277
675 715
           fi
676
-          if [[ $DOMAIN_NAME==$WIKI_DOMAIN_NAME ]]; then
716
+          if [[ $DOMAIN_NAME == "$WIKI_DOMAIN_NAME" ]]; then
677 717
               FREEDNS_SUBDOMAIN_CODE=$WIKI_FREEDNS_SUBDOMAIN_CODE
678 718
           fi
679 719
       fi
@@ -706,7 +746,7 @@ function interactive_configuration {
706 746
               exit 7648
707 747
           fi
708 748
 
709
-          if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
749
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
710 750
               data=$(tempfile 2>/dev/null)
711 751
               trap "rm -f $data" 0 1 2 5 15
712 752
               dialog --backtitle "Freedombone Configuration" \
@@ -740,7 +780,7 @@ function interactive_configuration {
740 780
           if [ ! $DOMAIN_NAME ]; then
741 781
               DOMAIN_NAME=$OWNCLOUD_DOMAIN_NAME
742 782
           fi
743
-          if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
783
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
744 784
               data=$(tempfile 2>/dev/null)
745 785
               trap "rm -f $data" 0 1 2 5 15
746 786
               dialog --backtitle "Freedombone Configuration" \
@@ -754,7 +794,7 @@ function interactive_configuration {
754 794
               if [ ! $OWNCLOUD_FREEDNS_SUBDOMAIN_CODE ]; then
755 795
                   exit 2583
756 796
               fi
757
-              if [[ $DOMAIN_NAME==$OWNCLOUD_DOMAIN_NAME ]]; then
797
+              if [[ $DOMAIN_NAME == "$OWNCLOUD_DOMAIN_NAME" ]]; then
758 798
                   FREEDNS_SUBDOMAIN_CODE=$OWNCLOUD_FREEDNS_SUBDOMAIN_CODE
759 799
               fi
760 800
           fi
@@ -777,7 +817,7 @@ function interactive_configuration {
777 817
           if [ ! $DOMAIN_NAME ]; then
778 818
               DOMAIN_NAME=$REDMATRIX_DOMAIN_NAME
779 819
           fi
780
-          if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
820
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
781 821
               data=$(tempfile 2>/dev/null)
782 822
               trap "rm -f $data" 0 1 2 5 15
783 823
               dialog --backtitle "Freedombone Configuration" \
@@ -791,7 +831,7 @@ function interactive_configuration {
791 831
               if [ ! $REDMATRIX_FREEDNS_SUBDOMAIN_CODE ]; then
792 832
                   exit 9654
793 833
               fi
794
-              if [[ $DOMAIN_NAME==$REDMATRIX_DOMAIN_NAME ]]; then
834
+              if [[ $DOMAIN_NAME == "$REDMATRIX_DOMAIN_NAME" ]]; then
795 835
                   FREEDNS_SUBDOMAIN_CODE=$REDMATRIX_FREEDNS_SUBDOMAIN_CODE
796 836
               fi
797 837
           fi
@@ -811,7 +851,7 @@ function interactive_configuration {
811 851
       esac
812 852
 
813 853
       if [ $MICROBLOG_DOMAIN_NAME ]; then
814
-          if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
854
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
815 855
               data=$(tempfile 2>/dev/null)
816 856
               trap "rm -f $data" 0 1 2 5 15
817 857
               dialog --backtitle "Freedombone Configuration" \
@@ -844,7 +884,7 @@ function interactive_configuration {
844 884
           exit 3846
845 885
       fi
846 886
 
847
-      if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
887
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
848 888
           data=$(tempfile 2>/dev/null)
849 889
           trap "rm -f $data" 0 1 2 5 15
850 890
           dialog --backtitle "Freedombone Configuration" \
@@ -877,6 +917,8 @@ function interactive_configuration {
877 917
 
878 918
   save_configuration_file
879 919
 
920
+  FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list
921
+
880 922
   dialog --title "Encrypted backup to other servers" \
881 923
       --backtitle "Freedombone Configuration" \
882 924
       --defaultno \