Browse Source

Backup voip data

Bob Mottram 10 years ago
parent
commit
da8e8eca55
1 changed files with 83 additions and 0 deletions
  1. 83
    0
      src/freedombone

+ 83
- 0
src/freedombone View File

@@ -286,6 +286,10 @@ VOIP_SERVER_PASSWORD=
286 286
 # Port on which VoIP server listens
287 287
 VOIP_PORT=64738
288 288
 
289
+# Location of VoIP database and configuration
290
+VOIP_DATABASE="mumble-server.sqlite"
291
+VOIP_CONFIG_FILE="mumble-server.ini"
292
+
289 293
 # other possible services to obtain the external IP address
290 294
 EXTERNAL_IP_SERVICES=( \
291 295
   'https://check.torproject.org/' \
@@ -2127,6 +2131,28 @@ function create_backup_script {
2127 2131
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2128 2132
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2129 2133
 
2134
+  echo '# Backup VoIP settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2135
+  echo "if [ -f /etc/$VOIP_CONFIG_FILE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2136
+  echo '  echo "Backing up VoIP settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2137
+  echo "  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2138
+  echo "    mkdir -p /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2139
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2140
+  echo "  cp -f /etc/$VOIP_CONFIG_FILE /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2141
+  echo "  cp -f /var/lib/mumble-server/$VOIP_DATABASE /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2142
+  echo "  if [ ! -d $USB_MOUNT/backup/voip ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2143
+  echo "    mkdir -p $USB_MOUNT/backup/voip" >> /usr/bin/$BACKUP_SCRIPT_NAME
2144
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2145
+  echo "  rsyncrypto  -v -r /home/$MY_USERNAME/tempbackup $USB_MOUNT/backup/voip $USB_MOUNT/backup/voip.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
2146
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2147
+  echo "    umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2148
+  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2149
+  echo '    rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2150
+  echo '    exit 2492' >> /usr/bin/$BACKUP_SCRIPT_NAME
2151
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2152
+  echo '  rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_SCRIPT_NAME
2153
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2154
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2155
+
2130 2156
   if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
2131 2157
       echo '# Mysql settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2132 2158
       echo "if [ ! -d $USB_MOUNT/backup/mariadb ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -2695,6 +2721,22 @@ function create_restore_script {
2695 2721
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2696 2722
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2697 2723
 
2724
+  echo "if [ -d $USB_MOUNT/backup/voip ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2725
+  echo '  echo "Restoring VoIP settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2726
+  echo '  mkdir /root/tempvoip' >> /usr/bin/$RESTORE_SCRIPT_NAME
2727
+  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/voip /root/tempvoip $USB_MOUNT/backup/voip.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2728
+  echo "  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/$VOIP_CONFIG_FILE /etc/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2729
+  echo "  cp -f /root/tempvoip/usb/backup/voip/$MY_USERNAME/tempbackup/$VOIP_DATABASE /var/lib/mumble-server/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2730
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2731
+  echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2732
+  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2733
+  echo '    rm -rf /root/tempvoip' >> /usr/bin/$RESTORE_SCRIPT_NAME
2734
+  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
2735
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2736
+  echo '  rm -rf /root/tempvoip' >> /usr/bin/$RESTORE_SCRIPT_NAME
2737
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2738
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2739
+  
2698 2740
   echo 'sync' >> /usr/bin/$RESTORE_SCRIPT_NAME
2699 2741
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2700 2742
   echo "# Unmount the USB drive" >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3245,6 +3287,32 @@ function backup_to_friends_servers {
3245 3287
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3246 3288
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3247 3289
 
3290
+  echo '# Backup VoIP settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3291
+  echo "if [ -f /etc/$VOIP_CONFIG_FILE ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3292
+  echo '  echo "Backing up VoIP settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3293
+  echo "  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3294
+  echo "    mkdir -p /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3295
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3296
+  echo "  cp -f /etc/$VOIP_CONFIG_FILE /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3297
+  echo "  cp -f /var/lib/mumble-server/$VOIP_DATABASE /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3298
+  echo '  if [ ! -d $SERVER_DIRECTORY/backup/voip ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3299
+  echo '    mkdir -p $SERVER_DIRECTORY/backup/voip' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3300
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3301
+  echo -n "  rsyncrypto  -v -r /home/$MY_USERNAME/tempbackup " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3302
+  echo -n '$SERVER_DIRECTORY/backup/voip $SERVER_DIRECTORY/backup/voip.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3303
+  echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3304
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3305
+  echo '    rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3306
+  echo '    # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3307
+  echo -n '    echo "Unable to encrypt VoIP settings" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3308
+  echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3309
+  echo '    exit 4923' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3310
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3311
+  echo '  rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3312
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3313
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3314
+
3315
+  
3248 3316
   if [[ $BACKUP_INCLUDES_DATABASES == "yes" ]]; then
3249 3317
       echo '# Mysql settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3250 3318
       echo 'if [ ! -d $SERVER_DIRECTORY/backup/mariadb ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -3808,6 +3876,21 @@ function restore_from_friend {
3808 3876
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3809 3877
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3810 3878
 
3879
+  echo 'if [ -d $SERVER_DIRECTORY/backup/voip ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3880
+  echo '  echo "Restoring VoIP settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3881
+  echo '  mkdir /root/tempvoip' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3882
+  echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/voip /root/tempvoip $SERVER_DIRECTORY/backup/voip.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3883
+  echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3884
+  echo "  cp -f /root/tempvoip/remoterestore/backup/voip/$MY_USERNAME/tempbackup/$VOIP_CONFIG_FILE /etc/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3885
+  echo "  cp -f /root/tempvoip/remoterestore/backup/voip/$MY_USERNAME/tempbackup/$VOIP_DATABASE /var/lib/mumble-server/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3886
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3887
+  echo '    rm -rf /root/tempvoip' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3888
+  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3889
+  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3890
+  echo '  rm -rf /root/tempvoip' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3891
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3892
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3893
+  
3811 3894
   echo 'if [ -d $SERVER_DIRECTORY/backup/mail ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3812 3895
   echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3813 3896
   echo '  mkdir /root/tempmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME