What does HackerNews think of sanoid?

Policy-driven snapshot management and replication tools. Using ZFS for underlying next-gen storage. (Btrfs support plans are shelved unless and until btrfs becomes reliable.) Primarily intended for Linux, but BSD use is supported and reasonably frequently tested.

Language: Perl

Even better, automate snapshot management (with optional off-node sync) with sanoid/syncoid [0] (Perl) or pyznap [1] (Python).

[0]: https://github.com/jimsalterjrs/sanoid

[1]: https://github.com/yboetz/pyznap

Sanoid is a great set-and-forget ZFS wrapper for snapshots. Also has syncoid to do offsite backups (ssh or usb hard disks)

https://github.com/jimsalterjrs/sanoid/

Aside from the usual cronjobs to scrub my local and backup pools, I do a few extra things:

I'm using https://habilis.net/cronic/ to make sure I don't mess up the email notification part of the cronjob. It's a simple wrapper script that sends an email in a readable format if a cronjob fails.

I use Sanoid to create snapshots on my home server, and use Syncoid to push those to a cloud VPS with a beefy network drive as an off-site backup. Both tools are available here: https://github.com/jimsalterjrs/sanoid

The free tier of https://cronitor.io/ makes sure I'm alerted if a cronjob fails, or fails to run on time. Especially that last bit is interesting: that way I'm sure cronjobs aren't silently failing for days/weeks on end.

I have 4 monitors set up in Cronitor: snapshot creation, zpool status on the local and backup machine, and send/receive with Syncoid. This is how that looks on the Cronitor dashboard: https://img.marceldegraaf.net/v6IpNAyxrZ54vgLqIJpY

Let me know if you want more info or examples, happy to share whatever I can to help :-)

EDIT: feel free to reach out via email as well, my address is in my profile.

sanoid (https://github.com/jimsalterjrs/sanoid/) is probably the most featureful, but there's quite a few I'm aware of - zfsnap, zfs-auto-snapshot, zfs_autobackup, znapzend...
People like that out-of-the-box GUI experience. Yeah, setting up NFS/AFP/Samba is easy but there's also monitoring and snapshot management (like https://github.com/jimsalterjrs/sanoid) and possibly external backups…
If you're using ZFS, the right thing to do is to attach drives C and D temporarily, create a second zpool on them, them use zfs send/receive to replicate snapshots from the primary drives to the backups. You can then export the zpool and move it to a different location.

Refreshing the backups is either done by putting the backups online at the remote location and syncing the deltas between the last snapshot and the current over the net, or by bringing the drives back to the primary, and sending the deltas.

The sanoid/syncoid toolset will help immensely with handing the necessary zfs snapshot and send/receive commands: https://github.com/jimsalterjrs/sanoid

As a heavy btrfs user backups have always been on my mind. I run a lab with a handful of busy VMs, all using btrfs. I was frustrated that there were no backup solutions (at the time) which leveraged btrfs, so I created snazzer [1] (one day soon it will support ZFS).

You might scoff, but... btrfs send/receive is insanely fast and painless. To mitigate btrfs shenanigans, snapshots end up on non-btrfs filesystems too. I wrote a tool [2] which produces PGP signatures and sha512sums of snapshots to achieve reproducible integrity measurements regardless of FS.

Of course, in the time it took to polish up snazzer a bit for public release, many [3] other [4] cool [5] solutions [6] have materialized [7]... :)

[1] https://github.com/csirac2/snazzer

[2] https://github.com/csirac2/snazzer/blob/master/doc/snazzer-m...

[3] https://github.com/masc3d/btrfs-sxbackup

[4] https://github.com/digint/btrbk

[5] https://github.com/jimsalterjrs/sanoid/

[6] https://github.com/lordsutch/btrfs-backup

[7] https://github.com/jf647/btrfs-snap