Hey fellow nerds.

How do you handle large-ish volume backups between Linux hosts? About 1TB of data. Source has 100Mbps upload. Receiving end is Gbit.

Incrementals will be essential, since full backup is nearly a day's worth of upload.

FOSS suggestions only at this stage. It's currently performing backups put of my control with Veeam and I'm a bit nervous about the whole situation being out of my hands.

#linux #backups #nerdery

@lakeswimmer rsync with compression. How much speedup you will get depends on how much data is new. The expense of restarting on error will be painful, so use partials if link reliability is an issue.
@kauer Thank you - I'll make rsync work. It's what I've been using for the last few weeks since I started getting cold feet about the Veeam backup. But was wondering if there might be a better thing. Probably not!

@lakeswimmer What would be "better", in your view? It depends a lot on what you want to back up, how often, and where from/to. If you are backing up disk images, you really should be using something snaphotty (as the ZFS enthusiast suggested), if you are backing up files, especially if Linux to Linux, it's hard to go past rsync - partials, hardlinking, lots of controls, exclusion lists, inclusion lists, compression...

If you need some kind of scaffolding to look at, arrange, select, restore from, document or index your backups, then rsync may be too low-level.

@lakeswimmer I use #rsnapshot. Been using it for years and it works great. I'm also one of the project maintainers so am biased.

In a brand new installation where everything used #ZFS (and really, everything *should* use ZFS - if it's not properly supported in your OS the OS is faulty and you should use a different one) then these days I'd use zfs send/recv, wrapped in #sanoid / #syncoid - https://github.com/jimsalterjrs/sanoid

@lakeswimmer unfortunately my future is a mixed ZFS/other stuff one, at least for a few years, and I'm not aware of any tool that combines the niftiness of both sanoid/syncoid and rsnapshot, so I'm writing my own.
@DrHyde Snapshots is an interesting idea. But moving those snapshots offsite is pretty significant when it comes to bandwidth, yes?
@lakeswimmer snapshots are effectively only storing a diff. `zfs send` sends a complete copy, but once you've got the first one over you can send subsequent updates with `zfs send -i` for incrementals: https://openzfs.github.io/openzfs-docs/man/master/8/zfs-send.8.html#i
zfs-send.8 — OpenZFS documentation

@lakeswimmer rsync is minimalistic, but does the job.
@lakeswimmer I believe the classic tool here is rsync. It's pretty good.
@aarbrk Yeah, rsync is great. But it doesn't (as far as I'm aware) do versioning as such.

@lakeswimmer I have (some time ago) read good things about Borg backup. Have not yet tried it myself though....

https://www.borgbackup.org/

BorgBackup – Deduplicating archiver with compression and authenticated encryption