From 30945c78a59351ad25a97cc9ae3c09067a4eea54 Mon Sep 17 00:00:00 2001 From: ms Date: Thu, 18 Oct 2007 19:51:15 +0000 Subject: [PATCH] Kleinere fixes an der Backup Routine git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@977 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/backup/backup.pl | 3 ++- html/cgi-bin/backup.cgi | 5 ++--- src/pakfire/lib/functions.sh | 36 ++++++++++++++++++++---------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/config/backup/backup.pl b/config/backup/backup.pl index ff9eea5cea..645a4f82b0 100644 --- a/config/backup/backup.pl +++ b/config/backup/backup.pl @@ -61,7 +61,8 @@ elsif ($ARGV[0] eq 'restore') { system("cd / && tar -xvz --preserve -f /tmp/restore.ipf"); } elsif ($ARGV[0] eq 'restoreaddon') { - system("cd / && tar -xvz --preserve -f /var/ipfire/backup/addons/backup/$ARGV[1].ipf"); + system("mv /tmp/$ARGV[1] /var/ipfire/backup/addons/backup/$ARGV[1]"); + system("cd / && tar -xvz --preserve -f /var/ipfire/backup/addons/backup/$ARGV[1]"); } elsif ($ARGV[0] eq 'cli') { system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden$Minuten-$ARGV[1].ipf --files-from='$ARGV[2]' --exclude-from='$ARGV[3]'"); diff --git a/html/cgi-bin/backup.cgi b/html/cgi-bin/backup.cgi index a0b2dcf164..f6bf6cc073 100644 --- a/html/cgi-bin/backup.cgi +++ b/html/cgi-bin/backup.cgi @@ -84,14 +84,13 @@ elsif ( $cgiparams{'ACTION'} eq "restore" ) elsif ( $cgiparams{'ACTION'} eq "restoreaddon" ) { my $upload = $a->param("UPLOAD"); - open UPLOADFILE, ">/var/$cgiparams{'UPLOAD'}"; + open UPLOADFILE, ">/tmp/$cgiparams{'UPLOAD'}"; binmode $upload; while ( <$upload> ) { print UPLOADFILE; } close UPLOADFILE; - system("cp /var/ipfire/backup/addons/backup/$cgiparams{'UPLOAD'} /tmp/restore.ipf >/dev/null 2>&1"); - system("/usr/local/bin/backupctrl restore >/dev/null 2>&1"); + system("/usr/local/bin/backupctrl restoreaddon $cgiparams{'UPLOAD'} >/dev/null 2>&1"); } &Header::showhttpheaders(); diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh index 1c4e760ea6..0ec8d8f808 100644 --- a/src/pakfire/lib/functions.sh +++ b/src/pakfire/lib/functions.sh @@ -37,28 +37,29 @@ remove_files() { } make_backup(){ - [ -e "/var/ipfire/backup/addons/include/${1}" ] && \ - ( echo "Creating Backup..." - /usr/local/bin/backupctrl addonbackup ${1} - echo "...Finished." ) + if [ -e "/var/ipfire/backup/addons/include/${1}" ];then + echo "Creating Backup..." + /usr/local/bin/backupctrl addonbackup ${1} + echo "...Finished." + fi } restore_backup(){ - [ -e "/var/ipfire/backup/addons/backup/${1}" ] && \ - ( echo "Restoring Backup..." && \ - /usr/local/bin/backupctrl restoreaddon ${1} && \ - echo "...Finished." ) + if [ -e "/var/ipfire/backup/addons/backup/${1}" ];then + echo "Restoring Backup..." + /usr/local/bin/backupctrl restoreaddon ${1}.ipf + echo "...Finished." + fi } restart_service() { - - /etc/init.d/$1 restart - + /etc/init.d/${1} restart } start_service() { DELAY=0 while true + do case "${1}" in --delay|-d) DELAY=${2} @@ -76,13 +77,16 @@ start_service() { break ;; esac + done - [ -e "/etc/init.d/${1}" ] && \ - (sleep ${DELAY} && /etc/init.d/${1} start ${BACKGROUND}) + if [ -e "/etc/init.d/${1}" ];then + sleep ${DELAY} + /etc/init.d/${1} start ${BACKGROUND} + fi } stop_service() { - - [ -e "/etc/init.d/${1}" ] && /etc/init.d/${1} stop - + if [ -e "/etc/init.d/${1}" ];then + /etc/init.d/${1} stop + fi } -- 2.39.2