Consistent Snapshots

ZnapZend uses the built-in snapshot functionality of ZFS for fully consistent backups. For each fileset, a pre- and post-snapshot command can be configured to quiet down any software writing to the fileset prior to snapshotting.

Fileset-Based Configuration

ZnapZend stores all its configuration in custom ZFS properties. So all configuration is hooked right into the ZFS fileset structure. When you modify the fileset, rename it, remove it, ZnapZend will happily chug along. ZnapZend comes with a special tool for setting and checking the backup configuration.

Flexible Backup Locations

ZnapZend uses the ZFS send/receive functionality to transfer backups to remote locations. It employs ssh and (optionally) mbuffer for the transfer to achieve optimal transfer rates for the data. You can configure any number of remote destinations for a fileset. Even no destinations at all if all you need are well managed local snapshots.

Progressive Thinning

ZnapZend can be configured to remove snapshots as they get older. The configuration allows to easily setup schemes where the backup density is progressively reduced as the backups get older. This technique can be individually applied both to the local snapshots as well as to any remote locations.

Online Backup Scheduler

ZnapZend runs as a service and uses the Mojo::IOLoop for scheduling all snapshotting and data transfer activities. Even when a snapshot takes a long time to transfer, snapshots on the source fileset will continue to be created according to schedule. Multiple snapshots will be transferred as a group to catch up slow destinations.

Highly Portable Code

ZnapZend is fully configurable in how it names its snapshots. Switching from your current ZFS snapshotting tool to ZnapZend is pretty simple. ZnapZend is highly portable and is known to work on all OSes that support ZFS: Linux, FreeBSD, Solaris, OmniOS, SmartOS, MacOS.

Get Started Now!

ZnapZend is free software. Just download it and get started. Follow the instructions in the README.

ZnapZend is written in modern object oriented Perl. Development happens out in the open on GitHub.

Need Help?

If you find have a question, head over to the ZnapZend section on and tag your question with 'znapzend'.

If you find a problem with ZnapZend, please open an Issue on GitHub.

If you like to get in touch and ask questions, you should find some people in our Gitter Chat.

Anything to Contribute?

And if you have a contribution, please fork us on GitHub, create a branch and send a pull request.

Paid Support and Customization

If you need extra help or customization, please feel free to get in touch directly with use here at OETIKER+PARTNER.