]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/backup/backup.pl
backup: Fork ISO job into the background in CGI script
[people/pmueller/ipfire-2.x.git] / config / backup / backup.pl
index 6ac4e496737b62d4cd1ddbf1836b18eac3f1cc38..afd8d1663df650aeebafa39147adcc4fd0e30f37 100644 (file)
@@ -57,10 +57,12 @@ make_backup() {
                make_addon_backup "${addon}"
        done
 
-       tar cvzf "${filename}" \
+       # Backup using global exclude/include definitions
+       tar cvfz "${filename}" \
                --exclude-from="/var/ipfire/backup/exclude" \
                --exclude-from="/var/ipfire/backup/exclude.user" \
-               $(process_includes "/var/ipfire/backup/include" "/var/ipfire/backup/include.user") \
+               $(process_includes "/var/ipfire/backup/include") \
+               $(process_includes "/var/ipfire/backup/include.user") \
                "$@"
 
        return 0
@@ -71,6 +73,22 @@ restore_backup() {
 
        tar xvzpf "${filename}" -C /
 
+       # Restart syslogd, httpd and suricata in case we've just loaded old logs
+       apachectl -k graceful
+       /bin/kill -HUP `cat /var/run/suricata.pid 2> /dev/null` 2> /dev/null
+       /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null
+
+       # remove wrong vnstat tag file
+       rm -f /var/log/vnstat/tag
+
+       # create dhcpcd user
+       groupadd -g 52 dhcpcd
+       useradd -c 'dhcpcd privsep user'        \
+               -d /run/dhcpcd/chroot           \
+               -g dhcpcd                       \
+               -s /bin/false                   \
+               -u 52 dhcpcd
+
        # Run converters
 
        # Outgoing Firewall
@@ -123,6 +141,9 @@ restore_backup() {
                rm -rf "/var/ipfire/portfw"
        fi
 
+       # Convert location
+       convert-to-location
+
        # Reload firewall
        firewallctrl
 
@@ -138,6 +159,12 @@ restore_backup() {
                rm -rf "/var/ipfire/snort"
        fi
 
+       # Convert DNS settings
+       convert-dns-settings
+
+       # move nobeeps if exist
+       [ -e "/var/ipfire/ppp/nobeeps" ] && mv /var/ipfire/ppp/nobeeps /var/ipfire/red/nobeeps
+
        return 0
 }
 
@@ -204,7 +231,7 @@ main() {
                                filename="/tmp/restore.ipf"
                        fi
 
-                       restore_backup "/tmp/restore.ipf"
+                       restore_backup "${filename}"
                        ;;
 
                addonbackup)
@@ -220,7 +247,7 @@ main() {
                        local filename="/var/ipfire/backup/${NOW}.ipf"
 
                        if make_backup "${filename}"; then
-                               /usr/local/bin/backupiso "${NOW}" &
+                               /usr/local/bin/backupiso "${NOW}"
                        fi
                        ;;