Sanoid

XDA’s warning that your NAS snapshots are probably disabled is the right frame. Redundancy isn’t backup, and a ZFS snapshot on the same pool isn’t backup either. A wrong zfs destroy still nukes the snapshot. Real ZFS snapshot backup means automated snapshots on a policy, plus asynchronous replication to a target the disaster can’t reach. These are the best apps for ZFS snapshot backup on desktop we’ve tested for policy-driven snapshots and off-site replication.

We tested on TrueNAS SCALE 25, Ubuntu 24.04, and a Proxmox VE 8.4 host, each with an OpenZFS pool holding around 12 TB of data. Recovery time and administrative overhead were the metrics we cared about; installing a tool that generates snapshots you never restore from is the same failure mode as no tool at all.

What to look for in a ZFS snapshot backup tool

Look for a scheduling model that runs on cron or systemd timers, so you don’t have a bespoke daemon to keep alive. Retention policies that thin snapshots automatically, otherwise you’ll run out of pool free space in three months. Incremental replication via zfs send | zfs recv, ideally with resume support after a network drop. Encrypted replication for off-site targets you don’t fully trust. Monitoring hooks that page you when a snapshot fails, because a broken pipeline you don’t know about is worse than no pipeline at all.

Quick comparison

App Best for Platforms Free plan Cost Rating
Sanoid & Syncoid Most home labs and small businesses Linux, FreeBSD Yes Free Editor’s pick
zrepl Large deployments Linux, FreeBSD Yes Free Very positive
TrueNAS Replication TrueNAS users TrueNAS CORE / SCALE Yes Free Very positive
pyznap Config-file simplicity Linux Yes Free Positive
znapzend Legacy Solaris-influenced setups Solaris, illumos, Linux Yes Free Positive
OpenZFS built-in tools Ad-hoc backups Linux, FreeBSD, TrueNAS Yes Free Baseline
Rclone with zfs send Cloud replication Linux, Windows, macOS Yes Free Positive

The apps

1. Sanoid & Syncoid, best for most home labs and small businesses

Sanoid is a policy-driven snapshot management daemon that runs on a schedule, creates snapshots per your retention config, and prunes old snapshots automatically. Syncoid is its replication counterpart, a wrapper around zfs send | zfs recv that handles incremental sends, SSH transport with compression, and mbuffer buffering to prevent I/O stalls.

Where it falls short: No GUI, and configuration lives in a plain-text INI file. First-time setup takes a couple of hours to feel confident. No cloud target out of the box, though the SSH-based transport covers most off-site scenarios.

Pricing:

Platforms: Linux, FreeBSD

Download: github.com/jimsalterjrs/sanoid

Bottom line: Sanoid and Syncoid for ZFS snapshot backup is what we run in production. Nine out of ten home labs need nothing else.

2. zrepl, best for large deployments with many targets

zrepl is the most powerful of the tools on this list, but the cost is complexity. It’s designed for fleets: many source pools replicating to many targets, with pull-mode replication for firewalled environments, and per-job retention policies.

Where it falls short: More complicated to get started with because a configuration file is needed for a single basic transfer. Documentation is thorough but dense.

Pricing:

Platforms: Linux, FreeBSD

Download: zrepl.github.io

Bottom line: zrepl for ZFS snapshot backup at scale. If you’re managing a rack, this is your tool.

3. TrueNAS Replication, best for TrueNAS users

TrueNAS Replication is the built-in web-UI-driven snapshot and replication in TrueNAS CORE and SCALE. Point-and-click policies, calendar-based scheduling, and a replication task list you can watch in real time.

Where it falls short: Only useful if you’re on TrueNAS. The underlying tooling is the same OpenZFS primitives with a wrapper.

Pricing:

Platforms: TrueNAS CORE, TrueNAS SCALE

Download: Ships with TrueNAS. See TrueNAS replication docs.

Bottom line: If you run TrueNAS, use the built-in replication before installing anything else. It’s already there.

4. pyznap, best for config-file simplicity

pyznap is a Python re-implementation of Sanoid/Syncoid’s ideas with a slightly friendlier config file. Snapshots and replication in one binary, INI-style config, no per-target complexity.

Where it falls short: Smaller community than Sanoid. Development pace is slower.

Pricing:

Platforms: Linux

Download: github.com/yboetz/pyznap

Bottom line: A perfectly good Sanoid alternative if the Perl-based ecosystem doesn’t suit you.

5. znapzend, best for Solaris-influenced setups

znapzend dates back to the Solaris era and still runs on illumos, FreeBSD, and Linux. Its retention policy language is legendary for its precision.

Where it falls short: Older codebase, quieter development, fewer active users than Sanoid or zrepl.

Pricing:

Platforms: Solaris, illumos, Linux

Download: github.com/oetiker/znapzend

Bottom line: Legacy but still capable. Migrate to Sanoid or zrepl for a new build.

6. OpenZFS built-in tools, best for ad-hoc backups

OpenZFS ships with everything you need: zfs snapshot creates a snapshot, zfs send produces a stream, zfs recv accepts one on the other end, zfs list -t snapshot inspects. Wire them together with a cron job and you have a bare-bones backup pipeline.

Where it falls short: No retention policy, no error recovery, no monitoring. You’ll write your own scripts.

Pricing:

Platforms: Linux, FreeBSD, TrueNAS, illumos

Download: openzfs.org

Bottom line: Fine for a one-off. Not a backup solution on its own.

7. Rclone with zfs send, best for cloud replication

Rclone doesn’t understand ZFS natively, but you can pipe zfs send into it and stream the result to Backblaze B2, Wasabi, or S3-compatible storage. Community scripts exist to do this without babysitting.

Where it falls short: Losing the snapshot semantics on the cloud side. You’re storing a raw stream, and restore means downloading the entire stream and zfs recv-ing it.

Pricing:

Platforms: Linux, Windows, macOS

Download: rclone.org

Bottom line: The right choice when your only off-site target is cloud object storage.

How to pick the right one

If you run TrueNAS, use TrueNAS Replication first. It’s already installed and the web UI hides the tricky bits.

If you run Linux or FreeBSD with a home lab, install Sanoid and Syncoid. It’s the sweet spot for feature-to-effort ratio.

If you’re managing 20-plus source pools, zrepl is worth the config-file learning curve.

If Perl allergies flare up around Sanoid, pyznap is a drop-in idea replacement.

If you’re on legacy Solaris or illumos, znapzend already knows your platform.

If cloud object storage is your only off-site target, wire Rclone into a zfs send pipeline.

FAQ

Aren’t ZFS snapshots already backups?

No. A snapshot on the same pool protects you from a mistaken rm -rf but not from pool failure, RAID card fire, or a wrong zpool destroy. Backup means the data lives on a different pool, ideally in a different physical location.

How often should I take ZFS snapshots?

For most home labs, hourly for the last day, daily for the last week, weekly for the last month, monthly for the last year. Sanoid ships with these defaults out of the box.

Can Sanoid replicate to cloud storage?

Not directly. Sanoid manages snapshots and Syncoid handles replication over SSH. For cloud object storage, pipe zfs send through Rclone. TrueNAS’s built-in replication now supports cloud targets in SCALE.

Does encrypted ZFS work with these tools?

Yes. Syncoid supports raw replication of encrypted datasets with the --sendoptions=w flag. The backup server stores ciphertext and cannot read the data without the encryption key.

What’s the difference between zrepl and Sanoid?

zrepl uses its own protocol and can pull replicate through firewalls, which is useful in enterprise setups. Sanoid uses standard SSH transport and simpler config. For most people, Sanoid is enough.