The old joke says that there are two types of people:
- those who make backups
- those will will make backups
I was in second group long time ago and then moved to first one.
Duplicity
So far I used Duplicity along with it’s fronted called Duply. It was installed by default on Ubuntu systems and was quite easy to setup.
But getting files restored from it was pain. And consistency was a problem. Especially when I wanted to restore one directory from quite old copy — turned out that one file (of many) was damaged so whole backup was useless…
BorgBackup
So I looked for alternatives and BorgBackup was one of suggestions.
Features list was long, FOSS, several platforms, compression etc. There were two things which brought my attention:
- deduplication
- mountable backups with FUSE
Deduplication
So why deduplication? Because it allows me to backup several machines into one place and separate copies of git repositories, source code will not take extra space:
Original size Compressed size Deduplicated size
All archives: 2.02 TB 1.57 TB 118.85 GB
Unique chunks Total chunks
Chunk index: 1060634 18670536
Or on my server where backups are run hourly:
Original size Compressed size Deduplicated size
All archives: 7.29 TB 5.36 TB 11.35 GB
Unique chunks Total chunks
Chunk index: 359783 260310747
Nice difference compared to Duplicity I used before.
FUSE mounting of backups
Instead of checking which options I have to use to restore that one directory from 2 months old backup I can now mount each backup using FUSE:
borgmatic mount --archive puchatek-2021-01-01 --mount-point /tmp/del/1
And then just copy whatever file(s) I want to restore. Very handy way.
Borgmatic
What Duply was to Duplicity, Borgmatic is to BorgBackup. Simple, easy to use frontend hiding most of internals behind easy to use command line interface.
Configure once, then simple commands like “borgmatic info”, “borgmatic prune” etc. All needed things are stored in config file.
Will it work for me?
Time will show does it work for me. Machines’ backup copies are done, syncing them between machines need some improvements.