diff --git a/handlers/borg.in b/handlers/borg.in index 06bde876bc4518d6f972a71f6c7f0dd37994435d..d4de31e865fc5705033900b3275fed89721c947a 100644 --- a/handlers/borg.in +++ b/handlers/borg.in @@ -265,6 +265,21 @@ if [ "$prune" == "yes" ]; then if [ $ret = 0 ]; then debug "$output" info "Removing old backups succeeded." + + if [[ "$(borg --version)" > "borg 1.2" ]] ; then + compactstr="borg compact $execstr_repository" + + debug "$compactstr" + output="$(su -c "$compactstr" 2>&1)" + ret=$? + if [ $ret = 0 ]; then + debug "$output" + info "Compacting borg repository succeeded." + else + info "$output" + warning "Compacting borg repository failed. Borg returned exit code ${ret}." + fi + fi elif [ $ret = 1 ]; then warning "$output" warning "Removing old backups finished with warnings."