diff -ruN e-smith-backup-2.2.0.old/root/etc/e-smith/events/actions/workstation-backup-dar e-smith-backup-2.2.0/root/etc/e-smith/events/actions/workstation-backup-dar --- e-smith-backup-2.2.0.old/root/etc/e-smith/events/actions/workstation-backup-dar 2013-07-06 19:50:52.000000000 -0700 +++ e-smith-backup-2.2.0/root/etc/e-smith/events/actions/workstation-backup-dar 2013-07-06 20:10:43.000000000 -0700 @@ -84,6 +84,7 @@ my $mntdir = $backupwk->prop('Mount') || '/mnt/smb'; my $frommail = $backupwk->prop('FromMail') || 'admin-backup'; my $tomail = $backupwk->prop('ToMail') || 'admin'; +my $deleteearly = $backupwk->prop('DeleteEarly') || 'false'; my $ether = $internalinterface->prop('Name'); my $tmpdir; @@ -304,15 +305,22 @@ # launching dar backup -my $rc = run_backup(); -if ($rc != 0 && $rc != 11) +if (($deleteearly eq 'true') && (($incnum == 0))) # Allow delete before backup { - ldie("Error while running dar: $rc"); + &remove_tree ($setdirname); + &create_tree ($setdirname); } -if ($incnum == 0) +# Perform the actual backup +my $rc = run_backup(); + +if ($rc != 0 && $rc != 11) +{ + ldie("Error while running dar: $rc"); +} + +if (($deleteearly ne 'true') && (($incnum == 0))) # Allow delete after backup { - $report .= "Rotating backups in a new set $setdirname. \n"; &remove_tree ($setdirname); &create_tree ($setdirname); }