Explorar el Código

Backup and restore learned spamassassin settings

Bob Mottram hace 10 años
padre
commit
237225653f
Ninguna cuenta está vinculada al correo electrónico del colaborador
Se han modificado 1 ficheros con 74 adiciones y 0 borrados
  1. 74
    0
      src/freedombone

+ 74
- 0
src/freedombone Ver fichero

@@ -2035,6 +2035,27 @@ function create_backup_script {
2035 2035
   echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2036 2036
   echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2037 2037
 
2038
+  echo '# Backup spamassassin settings' >> /usr/bin/$BACKUP_SCRIPT_NAME
2039
+  echo "if [ -f /home/$MY_USERNAME/.spamassassin ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2040
+  echo '  echo "Backing up spamassassin settings"' >> /usr/bin/$BACKUP_SCRIPT_NAME
2041
+  echo "  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2042
+  echo "    mkdir -p /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2043
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2044
+  echo "  cp /home/$MY_USERNAME/.spamassassin /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2045
+  echo "  if [ ! -d $USB_MOUNT/backup/spamassassin ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2046
+  echo "    mkdir -p $USB_MOUNT/backup/spamassassin" >> /usr/bin/$BACKUP_SCRIPT_NAME
2047
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2048
+  echo "  rsyncrypto  -v -r /home/$MY_USERNAME/tempbackup $USB_MOUNT/backup/spamassassin $USB_MOUNT/backup/spamassassin.keys $BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_SCRIPT_NAME
2049
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
2050
+  echo "    umount $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2051
+  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME
2052
+  echo "    rm -rf /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2053
+  echo '    exit 492' >> /usr/bin/$BACKUP_SCRIPT_NAME
2054
+  echo '  fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2055
+  echo "  rm -rf /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_SCRIPT_NAME
2056
+  echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
2057
+  echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
2058
+
2038 2059
   echo '# Backup email' >> /usr/bin/$BACKUP_SCRIPT_NAME
2039 2060
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
2040 2061
   echo '  echo "Creating an email archive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
@@ -2330,6 +2351,21 @@ function create_restore_script {
2330 2351
   echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2331 2352
   echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2332 2353
 
2354
+  echo "if [ -d $USB_MOUNT/backup/spamassassin ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2355
+  echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2356
+  echo '  mkdir /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
2357
+  echo "  rsyncrypto -v -d -r $USB_MOUNT/backup/spamassassin /root/tempspamassassin $USB_MOUNT/backup/spamassassin.keys $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
2358
+  echo "  cp -f /root/tempspamassassin/usb/backup/spamassassin/$MY_USERNAME/tempbackup/.spamassassin /home/$MY_USERNAME/" >> /usr/bin/$RESTORE_SCRIPT_NAME
2359
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
2360
+  echo "    umount $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2361
+  echo "    rm -rf $USB_MOUNT" >> /usr/bin/$RESTORE_SCRIPT_NAME
2362
+  echo '    rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
2363
+  echo '    exit 276' >> /usr/bin/$RESTORE_SCRIPT_NAME
2364
+  echo '  fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2365
+  echo '  rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_SCRIPT_NAME
2366
+  echo 'fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
2367
+  echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
2368
+
2333 2369
   echo "if [ -d $USB_MOUNT/backup/readme ]; then" >> /usr/bin/$RESTORE_SCRIPT_NAME
2334 2370
   echo '  echo "Restoring README"' >> /usr/bin/$RESTORE_SCRIPT_NAME
2335 2371
   echo '  mkdir /root/tempreadme' >> /usr/bin/$RESTORE_SCRIPT_NAME
@@ -3446,6 +3482,30 @@ function backup_to_friends_servers {
3446 3482
   echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3447 3483
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3448 3484
 
3485
+  echo '# Backup spamassassin settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3486
+  echo "if [ -f /home/$MY_USERNAME/.spamassassinrc ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3487
+  echo '  echo "Backing up spamassassin settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3488
+  echo "  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3489
+  echo "    mkdir -p /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3490
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3491
+  echo "  cp /home/$MY_USERNAME/.spamassassinrc /home/$MY_USERNAME/tempbackup" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3492
+  echo '  if [ ! -d $SERVER_DIRECTORY/backup/spamassassin ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3493
+  echo '    mkdir -p $SERVER_DIRECTORY/backup/spamassassin' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3494
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3495
+  echo -n "  rsyncrypto  -v -r /home/$MY_USERNAME/tempbackup " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3496
+  echo -n '$SERVER_DIRECTORY/backup/spamassassin $SERVER_DIRECTORY/backup/spamassassin.keys ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3497
+  echo "$BACKUP_CERTIFICATE" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3498
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3499
+  echo '    rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3500
+  echo '    # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3501
+  echo -n '    echo "Unable to encrypt spamassassin settings" | mail -s "Freedombone backup to friends" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3502
+  echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3503
+  echo '    exit 492' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3504
+  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3505
+  echo '  rm -rf /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3506
+  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3507
+  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3508
+
3449 3509
   echo '# Backup email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3450 3510
   echo "if [ -d /home/$MY_USERNAME/Maildir ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
3451 3511
   echo '  echo "Creating an email archive"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -3790,6 +3850,20 @@ function restore_from_friend {
3790 3850
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3791 3851
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3792 3852
 
3853
+  echo 'if [ -d $SERVER_DIRECTORY/backup/spamassassin ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3854
+  echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3855
+  echo '  mkdir /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3856
+  echo -n '  rsyncrypto -v -d -r $SERVER_DIRECTORY/backup/spamassassin /root/tempspamassassin $SERVER_DIRECTORY/backup/spamassassin.keys ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3857
+  echo "$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3858
+  echo "  cp -f /root/tempspamassassin/remoterestore/backup/spamassassin/$MY_USERNAME/tempbackup/.spamassassinrc /home/$MY_USERNAME/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3859
+  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3860
+  echo '    rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3861
+  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3862
+  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3863
+  echo '  rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3864
+  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3865
+  echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3866
+
3793 3867
   echo 'if [ -d $SERVER_DIRECTORY/backup/readme ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3794 3868
   echo '  echo "Restoring README"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
3795 3869
   echo '  mkdir /root/tempreadme' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME