ZFS Automatic Snapshot Daemon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thor the Norseman f0ebe28978 Updated example config with notes on if_modified flag 4 months ago
bin/osx Fixed issue with wrong relative path in zasctl 9 months ago
docs Added more documentation. 4 months ago
log Initial commit 9 months ago
src Updated example config with notes on if_modified flag 4 months ago
.gitignore Initial commit 9 months ago
README.md Added more documentation. 4 months ago

README.md

ZFS Automatic Snapshot Daemon

This is a daemon, written in Python 3, that will schedule regular snaphots of ZFS datasets (pools, filsystems) according to a set of configurable schedules. Options for interval and crontab-style schedules are available.

The daemon includes an installer for macOS launchd. For Linux, see the example systemd config file in docs. Modify as needed, copy to /etc/systemd/system folder, run systemctl start zasd and systemctl enable zasd as root to run on boot.

Snapshots may be made conditional with the if_modified option on each schedule. In this mode, a snapshot will only be taken if a dataset has been modified since the last snapshot.

The daemon should not interfere with other snapshots you have on the system, unless you give them names that adhere to the dataset@tag:serial syntax zasd uses, and the tag parts happen to match of the tags in zasd.conf.py. If you're already using similar syntax for something else, you may need to change the separator setting in zasd.conf.py.

DISCLAIMER: This program is still in beta. Use at your own risk. It works fine on my system, but your mileage may vary.

Requirements

  • apscheduler PIP package
  • fswatch program