rustic icon indicating copy to clipboard operation
rustic copied to clipboard

Allow limiting space to use it more intelligently

Open benjaminweb opened this issue 4 months ago • 1 comments

My online storage has a quota. Of course I want to retain as many snapshots as the quota allows. Desired: Rustic prunes and makes new snapshots automatically based on the space remaining (lest manoeuvring itself into a spaceless condition where default pruning is impossible). Solution: Add config switch that specifies quota of storage. Then extend rustic to guesstimate or determine whether next snapshot fits into remaining space. If not, let it decide based on retaining strategy which old snapshot to delete.

Problem is, rustic isn't great at realising when it's running out of space (at least for hetzner's storage box). When rustic has run out of space, rustic prune is exacerbating the problem by consuming even more space. For the initiated rustic prune --instant-delete does reduce space consumption by deleting snapshots immediately.

benjaminweb avatar Aug 25 '25 20:08 benjaminweb

Hi @benjaminweb, thanks for opening this issue!

I can understand your desire, but I must say there are some major difficulties here:

  • by design, the backup command is designed to not remove or alter any existing file in the repository (it is append-only). IMO this is a huge feature of rustic as backup-tool and wouldn't want to change this. So, only solutions involving two or more steps would come into my mind.
  • Due to the deduplication and compression, it is not possible to predict how much space some new snapshots can add to the repository - unless doing basically all the work and just skip saving the files to the repository (which e.g. the dry-run option does). So, limiting space for backup would either involve a costly dry-run or abort with an incomplete backup.

aawsome avatar Aug 31 '25 17:08 aawsome