Automated incremental and synthetic full system backup and bare metal + file level restoration solution?


I’m looking for something that enables automated incremental, synthetic full system backup and bare metal + file level restoration on FreeBSD. Basically I’m looking for a Veeam equivalent.

The only constraints are:

  1. No VMs or containerization required.
  2. No additional BSD PC required. I have Windows 10 and Ubuntu PCs that can serve as backup targets.

Any ideas?


I’ve never heard of/used veeam before, but a quick look it seems to be geared towards virtualized things.
Are you looking for something that would backup a BSD system/container using a Windows or Ubuntu PC as the remote storage?
Or is a FreeBSD box going to be the target for backing up other systems?

I doubt there will be anything with a pretty management console :slight_smile:

If you are using FreeBSD with ZFS, you can setup distinct datasets for your data. Then you can take zfs snapshots of a dataset at a given point in time. Those snapshots can be used in lots of ways: send them to another ZFS dataset, even on a remote host as a read only copy, you can send them to a file and then scp that file somewhere else. That would give you ability to do file level restore on specific datasets. Extend that to whatever datasets you want and you can get “system” backups.
Bare metal: that starts to sound a lot like Clonezilla.
Me, I’ve always considered my data more important than the “system”. The system and applications can always be restored, but my data can’t. That’s why ZFS is powerful: you start to think in datasets instead of file systems or partitions.

I know that really didn’t answer your question, but maybe it gives you something else to think about (think about the problem you are trying to solve a little differently).


It’s geared towards all the things. The beauty of Veeam is it supports incremental and synthetic backups for all paradigms: file, volume, and system for bare metal and VMs and to a wide array of targets. This makes it very flexible and efficient. You set it and forget it until you accidentally delete something, then you fire it up, load the backup and select what you want to restore from a tree. Peace of mind and lack of headache.

Once you leave Windows you can pretty much throw UX and UI out the window. I’ve given up trying to find solutions that are intuitive or easy to learn; at this point I’m just trying to find things that actually just work at all.

Well, clearly. I agree. But OS setup and config are things that exist, too. And they take time. And it’s really comforting to know that if anything goes wrong you can restore the entire machine to the last backup state, data AND OS, with no worries.

Unless they’ve been backed up, this is quite a non-trivial exercise for me. Setting up a new machine exactly the way I’m comfortable with it can take several days (after being done with work.) I’ve set up Project Trident from scratch twice and it’s not something I enjoyed or would ever like to do again (this isn’t a strike against Trident, it’s just how I find OS setup in general. It’s very involved for me, so I try to minimize its occurrence.)

I guess I understand BSD and ZFS have different paradigms from what I’m used to. I’m a very Point-Click-Done person.

So let’s say hypothetically I do a full ZFS backup to my Ubuntu 18.10 PC and my BSD SSD crashes. What would the process of restoring the entire BSD installation - settings, data and all - from that backup to a new SSD look like?


So, real hard crash such that the old hardware is toast?
Without using any specialized tools, just ones natively available it could go something like:
“crap. disk died. Yep. Smoking”
Insert new disk
do a simple base install to new disk
plug in external ZFS drive or assume access to a remote one (ssh would work)
combination of zfs send and zfs receive to restore the last snapshot of the working datasets.

Even if you have some sort of backup program if you are talking about replacing the os drive you are talking an install of some kind. Even Clonezilla is an “install”; boot off a USB and effectively do a “dd” or block by block copy to the new drive.

Now there could be products that automate a lot for you as far as the snapshots and pushing them to remote machines. It’s the recovery that is usually a pain: a blank drive needs something so it can pull the backups.