瀏覽代碼

Backup and restore blocklist

Bob Mottram 7 年之前
父節點
當前提交
7a222289d0

+ 18
- 0
src/freedombone-backup-local 查看文件

@@ -259,6 +259,22 @@ function prepare_directories {
259 259
     fi
260 260
 }
261 261
 
262
+function backup_blocklist {
263
+    if [ ! -f /root/${PROJECT_NAME}-firewall-domains.cfg ]; then
264
+        return
265
+    fi
266
+    echo $"Backing up ${PROJECT_NAME} blocklist"
267
+    temp_backup_dir=/root/tempbackupblocklist
268
+    if [ ! -d $temp_backup_dir ]; then
269
+        mkdir -p $temp_backup_dir
270
+    fi
271
+    if [ -f $NODEJS_INSTALLED_APPS_FILE ]; then
272
+        cp -f /root/${PROJECT_NAME}-firewall-domains.cfg $temp_backup_dir
273
+    fi
274
+    backup_directory_to_usb $temp_backup_dir blocklist
275
+    rm -rf $temp_backup_dir
276
+}
277
+
262 278
 function backup_configfiles {
263 279
     echo $"Backing up ${PROJECT_NAME} configuration files"
264 280
     temp_backup_dir=/root/tempbackupconfig
@@ -285,6 +301,7 @@ function backup_configfiles {
285 301
         cp -f /etc/nginx/.htpasswd $temp_backup_dir/htpasswd
286 302
     fi
287 303
     backup_directory_to_usb $temp_backup_dir configfiles
304
+    rm -rf $temp_backup_dir
288 305
 }
289 306
 
290 307
 function backup_admin_readme {
@@ -335,6 +352,7 @@ prepare_directories
335 352
 backup_directories
336 353
 backup_apps local
337 354
 backup_configfiles
355
+backup_blocklist
338 356
 backup_admin_readme
339 357
 backup_mariadb
340 358
 backup_extra_directories local

+ 17
- 0
src/freedombone-backup-remote 查看文件

@@ -105,6 +105,22 @@ function restart_site {
105 105
     SUSPENDED_SITE=
106 106
 }
107 107
 
108
+function backup_blocklist {
109
+    if [ ! -f /root/${PROJECT_NAME}-firewall-domains.cfg ]; then
110
+        return
111
+    fi
112
+    echo $"Backing up ${PROJECT_NAME} blocklist"
113
+    temp_backup_dir=/root/tempbackupblocklist
114
+    if [ ! -d $temp_backup_dir ]; then
115
+        mkdir -p $temp_backup_dir
116
+    fi
117
+    if [ -f $NODEJS_INSTALLED_APPS_FILE ]; then
118
+        cp -f /root/${PROJECT_NAME}-firewall-domains.cfg $temp_backup_dir
119
+    fi
120
+    backup_directory_to_friend $temp_backup_dir blocklist
121
+    rm -rf $temp_backup_dir
122
+}
123
+
108 124
 function backup_configfiles {
109 125
     echo $"Backing up ${PROJECT_NAME} configuration files"
110 126
     temp_backup_dir=/root/tempbackupconfig
@@ -386,6 +402,7 @@ fi
386 402
 
387 403
 backup_configfiles
388 404
 if [[ $TEST_MODE == "no" ]]; then
405
+    backup_blocklist
389 406
     backup_users
390 407
     backup_letsencrypt
391 408
     backup_passwordstore

+ 1
- 0
src/freedombone-controlpanel 查看文件

@@ -1102,6 +1102,7 @@ function restore_data_from_storage {
1102 1102
     fi
1103 1103
 
1104 1104
     utils_installed=(configfiles
1105
+                     blocklist
1105 1106
                      mariadb
1106 1107
                      letsencrypt
1107 1108
                      passwords

+ 24
- 2
src/freedombone-restore-local 查看文件

@@ -111,6 +111,27 @@ function copy_gpg_keys {
111 111
     gpg_set_permissions root
112 112
 }
113 113
 
114
+function restore_blocklist {
115
+    if [[ $RESTORE_APP != 'all' ]]; then
116
+        if [[ $RESTORE_APP != 'blocklist' ]]; then
117
+            return
118
+        fi
119
+    fi
120
+
121
+    # this restores *.cfg and COMPLETION_FILE
122
+    if [ -d $USB_MOUNT/backup/blocklist ]; then
123
+        echo $"Restoring blocklist"
124
+        temp_restore_dir=/root/tempblocklist
125
+        restore_directory_from_usb $temp_restore_dir blocklist
126
+
127
+        if [ -f $temp_restore_dir/root/tempbackupblocklist/${PROJECT_NAME}-firewall-domains.cfg ]; then
128
+            cp -f $temp_restore_dir/root/tempbackupblocklist/${PROJECT_NAME}-firewall-domains.cfg /root/${PROJECT_NAME}-firewall-domains.cfg
129
+        fi
130
+
131
+        rm -rf $temp_restore_dir
132
+    fi
133
+}
134
+
114 135
 function restore_configfiles {
115 136
     if [[ $RESTORE_APP != 'all' ]]; then
116 137
         if [[ $RESTORE_APP != 'configfiles' ]]; then
@@ -119,9 +140,9 @@ function restore_configfiles {
119 140
     fi
120 141
 
121 142
     # this restores *.cfg and COMPLETION_FILE
122
-    if [ -d $USB_MOUNT/backup/config ]; then
143
+    if [ -d $USB_MOUNT/backup/configfiles ]; then
123 144
         echo $"Restoring configuration files"
124
-        temp_restore_dir=/root/tempconfig
145
+        temp_restore_dir=/root/tempconfigfiles
125 146
         restore_directory_from_usb $temp_restore_dir configfiles
126 147
 
127 148
         if [ -f $temp_restore_dir/root/.nostore ]; then
@@ -741,6 +762,7 @@ backup_mount_drive ${1} ${ADMIN_USERNAME} ${2}
741 762
 check_backup_exists
742 763
 check_admin_user
743 764
 copy_gpg_keys
765
+restore_blocklist
744 766
 restore_configfiles
745 767
 same_admin_user
746 768
 restore_passwordstore

+ 25
- 2
src/freedombone-restore-remote 查看文件

@@ -102,15 +102,37 @@ function copy_gpg_keys {
102 102
     gpg_set_permissions root
103 103
 }
104 104
 
105
+function restore_blocklist {
106
+    if [[ $RESTORE_APP != 'all' ]]; then
107
+        if [[ $RESTORE_APP != 'blocklist' ]]; then
108
+            return
109
+        fi
110
+    fi
111
+
112
+    # this restores *.cfg and COMPLETION_FILE
113
+    if [ -d $USB_MOUNT/backup/blocklist ]; then
114
+        echo $"Restoring blocklist"
115
+        temp_restore_dir=/root/tempblocklist
116
+        restore_directory_from_friend $temp_restore_dir blocklist
117
+        restore_directory_from_usb $temp_restore_dir blocklist
118
+
119
+        if [ -f $temp_restore_dir/root/tempbackupblocklist/${PROJECT_NAME}-firewall-domains.cfg ]; then
120
+            cp -f $temp_restore_dir/root/tempbackupblocklist/${PROJECT_NAME}-firewall-domains.cfg /root/${PROJECT_NAME}-firewall-domains.cfg
121
+        fi
122
+
123
+        rm -rf $temp_restore_dir
124
+    fi
125
+}
126
+
105 127
 function restore_configfiles {
106 128
     if [[ $RESTORE_APP != 'all' ]]; then
107 129
         if [[ $RESTORE_APP != 'configfiles' ]]; then
108 130
             return
109 131
         fi
110 132
     fi
111
-    if [ -d $SERVER_DIRECTORY/backup/config ]; then
133
+    if [ -d $SERVER_DIRECTORY/backup/configfiles ]; then
112 134
         echo $"Restoring configuration files"
113
-        temp_restore_dir=/root/tempconfig
135
+        temp_restore_dir=/root/tempconfigfiles
114 136
         restore_directory_from_friend $temp_restore_dir configfiles
115 137
 
116 138
         if [ -f $temp_restore_dir/root/.nostore ]; then
@@ -655,6 +677,7 @@ function restore_email {
655 677
 ${PROJECT_NAME}-recoverkey -u ${ADMIN_USERNAME} -l $BACKUP_LIST
656 678
 
657 679
 copy_gpg_keys
680
+restore_blocklist
658 681
 restore_configfiles
659 682
 restore_passwordstore
660 683
 restore_mariadb