From d77cfdf4c75688f1732be9b6272d1124cedb1f51 Mon Sep 17 00:00:00 2001 From: Christoph Klaffl Date: Fri, 1 May 2020 17:20:07 +0200 Subject: [PATCH] implemented option for keeping sync snaps --- syncoid | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/syncoid b/syncoid index 2eef326..702b1c3 100755 --- a/syncoid +++ b/syncoid @@ -25,7 +25,7 @@ GetOptions(\%args, "no-command-checks", "monitor-version", "compress=s", "dumpsn "source-bwlimit=s", "target-bwlimit=s", "sshkey=s", "sshport=i", "sshcipher|c=s", "sshoption|o=s@", "debug", "quiet", "no-stream", "no-sync-snap", "no-resume", "exclude=s@", "skip-parent", "identifier=s", "no-clone-handling", "no-privilege-elevation", "force-delete", "no-clone-rollback", "no-rollback", - "create-bookmark", "pv-options=s" => \$pvoptions, + "create-bookmark", "pv-options=s" => \$pvoptions, "keep-sync-snap", "mbuffer-size=s" => \$mbuffer_size) or pod2usage(2); my %compressargs = %{compressargset($args{'compress'} || 'default')}; # Can't be done with GetOptions arg, as default still needs to be set @@ -837,9 +837,11 @@ sub syncdataset { }; } } else { - # prune obsolete sync snaps on source and target (only if this run created ones). - pruneoldsyncsnaps($sourcehost,$sourcefs,$newsyncsnap,$sourceisroot,keys %{ $snaps{'source'}}); - pruneoldsyncsnaps($targethost,$targetfs,$newsyncsnap,$targetisroot,keys %{ $snaps{'target'}}); + if (!defined $args{'keep-sync-snap'}) { + # prune obsolete sync snaps on source and target (only if this run created ones). + pruneoldsyncsnaps($sourcehost,$sourcefs,$newsyncsnap,$sourceisroot,keys %{ $snaps{'source'}}); + pruneoldsyncsnaps($targethost,$targetfs,$newsyncsnap,$targetisroot,keys %{ $snaps{'target'}}); + } } } # end syncdataset()