Parcourir la source

Restoring from remote server

Bob Mottram il y a 9 ans
Parent
révision
1b3b00949b
1 fichiers modifiés avec 31 ajouts et 2 suppressions
  1. 31
    2
      src/freedombone-controlpanel

+ 31
- 2
src/freedombone-controlpanel Voir le fichier

@@ -31,6 +31,7 @@
31 31
 COMPLETION_FILE=$HOME/freedombone-completed.txt
32 32
 SELECTED_USERNAME=
33 33
 SIP_CONFIG_FILE=/etc/sipwitch.conf
34
+ADMIN_USER=
34 35
 
35 36
 function any_key {
36 37
     echo ' '
@@ -143,7 +144,6 @@ function configure_remote_backups {
143 144
                --msgbox "No Administrator user found. Check $COMPLETION_FILE" 6 40
144 145
         return
145 146
     fi
146
-    ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
147 147
     if [ ${#ADMIN} -lt 2 ]; then
148 148
         dialog --title "Administrator user" \
149 149
                --msgbox "Username not found" 6 40
@@ -438,7 +438,35 @@ function restore_data {
438 438
 }
439 439
 
440 440
 function restore_data_remote {
441
-    any_key
441
+    if [ ! $ADMIN_USER ]; then
442
+        dialog --title "Restore data from remote server" \
443
+               --msgbox "Unknown admin user" 6 40
444
+        return
445
+    fi
446
+    data=$(tempfile 2>/dev/null)
447
+    trap "rm -f $data" 0 1 2 5 15
448
+    dialog --title "Restore from remote server" \
449
+           --backtitle "Freedombone Control Panel" \
450
+           --inputbox "Enter the domain name of the server from which you wish to restore" 8 60 2>$data
451
+    sel=$?
452
+    case $sel in
453
+        0)
454
+            friend_server_domain_name=$(<$data)
455
+
456
+            if [ ${#friend_server_domain_name} -lt 2 ]; then
457
+                return
458
+            fi
459
+
460
+            if [[ $friend_server_domain_name != *"."* ]]; then
461
+                dialog --title "Remote server domain name" \
462
+                       --msgbox "Invalid domain name" 6 40
463
+                return
464
+            fi
465
+
466
+            restorefromfriend $friend_server_domain_name
467
+            any_key
468
+            ;;
469
+    esac        
442 470
 }
443 471
 
444 472
 function logging_on_off {
@@ -648,6 +676,7 @@ if [ ! -f $COMPLETION_FILE ]; then
648 676
     exit 1
649 677
 fi
650 678
 
679
+ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
651 680
 menu_top_level
652 681
 clear
653 682
 cat /etc/motd