Hacker News new | ask | show | jobs
by ams6110 3258 days ago
> duplicity has a serious flaw in its incremental model -- the user has to decide whether to perform a full backup or an incremental backup on each run. That is because while an incremental backup saves a lot of storage space, it is also dependent on previous backups due to the design of duplicity, making it impossible to delete any single backup on a long chain of dependent backups. So there is always a dilemma of how often to perform a full backup for duplicity users.

Yes and no. Duplicity has the "--full-if-older-than" option so you can do incrementals normally, but if your previous full is older than whatever interval you define, it will do a full backup, without changing the command line. So that can be e.g. in a cron job.

1 comments

Classic source control had this problem.

The clever trick is to reencode the previous most-recent backup as a delta from the current state, and do a full-backup of the current state, rather than encoding each new backup as a delta from the previous state (which becomes slower and slower to compute, the more previous states you have).

Problem solved :)

That's really expensive when your previous backup is on cloud storage
To compute a delta, you need the previous version. If this previous version is computed from a single file - the previous snapshot - then that's actually less data and effort than if its computed by taking an old snapshot and replaying all the deltas upto the current time.