zfsnap

about

zfsnap is intended to be a portable and performant solution to the problem of easily creating, managing, and deleting rolling ZFS snapshots.

Why zfsnap?

There certainly is no shortage of scripts available which attempt — with varied success — to tackle the problem of rolling ZFS snapshots. zfsnap aims to provide a simple, focused solution to the problem. No databases, embedded ZFS properties, or dependency-heavy scripting languages.

Scripts are written with flexibility in mind, so they can be adapted to a wide variety of situations. Core functionality is split into functions in a core library so that, if the need arises, others may easily work with zfsnap-generated-snapshots in their own site-specific scripts.

zfsnap is reliable, and an ever-expanding test-suite helps make sure it stays that way.

What is the snapshot name format?

Format:
pool/fs@[prefix]Timestamp--TimeToLive
Example:
jackknife/home@weekly-2014-04-17_11.01.00--6w

The prefix is optional (but is quite useful for filtering); the Timestamp is the date and time the snapshot was created; and the TTL is the length of time until a snapshot is marked for deletion. For more info on the TTL format, see the zfsnap manpage.

Is it open source?

zfsnap is distributed under the BSD-3-Clause open source license and is developed on GitHub.