From 2cf02541969bc6ebcd852ddb94db1c1698ccdceb Mon Sep 17 00:00:00 2001 From: Stoiko Ivanov Date: Wed, 28 Oct 2020 19:54:21 +0100 Subject: [PATCH] Restore: optionally restore from directory In preparation for integrating PMG with PBS decide based on the type of the provided filename, whether or not to untar: * if it's a directory skip untarring (PBS) * if it's a filename untar (local backup) Signed-off-by: Stoiko Ivanov --- src/PMG/Backup.pm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/PMG/Backup.pm b/src/PMG/Backup.pm index c9739f2..3745015 100644 --- a/src/PMG/Backup.pm +++ b/src/PMG/Backup.pm @@ -243,12 +243,23 @@ sub pmg_restore { my $tarfn = "config_backup.tar"; my $sigfn = "proxmox_backup_v1.md5"; + my $untar = 1; + + # directory indicates that the files were restored from a PBS remote + if ( -d $filename ) { + $dirname = $filename; + $untar = 0; + } + eval { - # create a temporary directory - mkdir $dirname; - system("cd $dirname; tar xzf $filename >/dev/null 2>&1") == 0 || - die "unable to extract backup archive: ERROR"; + if ($untar) { + # create a temporary directory + mkdir $dirname; + + system("cd $dirname; tar xzf $filename >/dev/null 2>&1") == 0 || + die "unable to extract backup archive: ERROR"; + } system("cd $dirname; md5sum -c $sigfn") == 0 || die "proxmox backup signature check failed: ERROR"; -- 2.39.5