From 83aaf62914c26502d9486fec24ec9869be784270 Mon Sep 17 00:00:00 2001 From: Juan Date: Mon, 27 Aug 2018 10:13:03 +0200 Subject: [PATCH] Rotation & cleaning bugs fixed --- debian/changelog | 2 +- vn-vmware.pl | 26 +++++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/debian/changelog b/debian/changelog index ae36add..73b6b2f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vn-vmware (1.0.22) stable; urgency=low +vn-vmware (1.0.23) stable; urgency=low * Initial Release. diff --git a/vn-vmware.pl b/vn-vmware.pl index fe4bf34..63960bd 100755 --- a/vn-vmware.pl +++ b/vn-vmware.pl @@ -396,11 +396,17 @@ sub backup_machine() { createParentDirectories => true ); - eval { - unless (-e $local_tmp_dir) { - die "Local backup directory is not accessible: $local_tmp_dir"; - } + unless (-e $local_tmp_dir) { + log_message "Aborting, removing temporary directory: $ds_tmp_dir"; + $file_manager->DeleteDatastoreFile( + name => $ds_tmp_dir, + datacenter => $dc + ); + die "Local backup directory is not accessible: $local_tmp_dir"; + } + + eval { my $vm_path_name = $vm->config->files->vmPathName; log_message "Copying machine configuration file: $vm_path_name"; @@ -469,11 +475,8 @@ sub backup_machine() { $vm->RemoveAllSnapshots(); } - log_message "Removing temporary directory: $ds_tmp_dir"; - $file_manager->DeleteDatastoreFile( - name => $ds_tmp_dir, - datacenter => $dc - ); + "Removing temporary directory: $local_tmp_dir"; + rmtree($local_tmp_dir); if ($err) { die $err; @@ -527,8 +530,9 @@ sub rotate_backup() { die "Rotation aborted, because is trying to remove all backups."; } foreach my $deleteFile (@delete_files) { - log_message "Removing $deleteFile"; - unlink $deleteFile; + my $deleteFilePath = "$local_dir/$deleteFile"; + log_message "Removing $deleteFilePath"; + unlink "$deleteFilePath"; } if (scalar(@delete_files) == 0) {