digint / digint/btrbk

regression between 0.32.5 and 0.32.6: remote incremental raw backups no longer deleted

Open
#651 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Perl
Stars
2.1k
Forks
139
PR merge metrics
No merged PRs in 30d

Description

Hey @digint.

I'm using the incremental raw backups feature with a `btrbk.conf` like:
transaction_log /var/log/btrbk.log
timestamp_format long-iso
snapshot_dir snapshots/btrbk
raw_target_encrypt gpg
gpg_keyring /etc/btrbk/gnupg/pubring.kbx
gpg_recipient backups@lfoo
incremental_resolve directory
btrfs_commit_delete yes
preserve_day_of_week monday
snapshot_preserve_min 2d
snapshot_preserve 4d 2w 1m
target_preserve_min latest
target_preserve 4d 2w
ssh_identity /etc/btrbk/ssh/id_ed25519
ssh_user lcg-backup
volume /data/btrfs-top-level-subvolumes/system
subvolume data
target raw ssh://host1/var/local/lcg-backup/data/btrbk/host4/system
target raw ssh://host2/var/local/lcg-backup/data/btrbk/host4/system

Having two systemd timers and services, one doing weekly fresh full backups (adding `--override incremental=no`) the other running daily (except on the "full-day").

That used to work until including 0.32.5.
When I've upgrade to the current debian stable last October or so, I got .6 and noticed only now (with my storage running full), that .6 doesn't delete any of the old `.gpg` and `.gpg.info` files.
It seems it considers all of them in a parent/child relationship:
```
Found parent/child partners, forcing preserve of: "host1:/var/local/lcg-backup/data/btrbk/host4/system/data.20251027T000001+0100.btrfs.gpg", "host1:/var/local/lcg-backup/data/btrbk/host4/system/data.20251028T000002+0100.btrfs.gpg"
```

Downgrading immediately fixes is.

Any ideas? :-)

Thanks,
Chris.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the retention behavior with the provided btrbk.conf and compare versions 0.32.5 and 0.32.6, focusing on remote incremental raw backup preservation. Done means eligible old .gpg and .gpg.info files are deleted according to target_preserve, rather than all being retained as parent/child partners.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, perl
Domain
cli, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.