Policy-driven snapshot management and replication tools. Using ZFS for underlying next-gen storage. Primarily intended for Linux, but BSD use is supported and reasonably frequently tested. You can use sanoid to create, automatically thin, and monitor snapshots and pool health from a single eminently human-readable TOML config file at /etc/sanoid/sanoid.conf. DEPENDENCIES SANOID depends on the Perl module Config::IniFiles and will not operate without it. Config::IniFiles may be installed from CPAN, though the project strongly recommends using your distribution's repositories instead. SYNCOID depends on ssh, pv, gzip, lzop, and mbuffer. It can run with reduced functionality in the absence of any or all of the above. SSH is only required for remote synchronization. CRON If you use cron there is the need to ensure that only one instance of sanoid is run at any time (or else there will be funny error messages about missing snapshots, ...). It's also good practice to separate the snapshot taking and pruning so the later won't block the former in case of long running pruning operations. Following is the recommend setup for a standard install: */15 * * * * root flock -n /var/run/sanoid/cron-take.lock -c \ "TZ=UTC sanoid --take-snapshots" */15 * * * * root flock -n /var/run/sanoid/cron-prune.lock -c \ "sanoid --prune-snapshots" Adapt the timer interval to the lowest configured snapshot interval. CONFIGURATION SANOID won't do anything useful unless you tell it how to handle your ZFS datasets in `/etc/sanoid/sanoid.conf`. Take a look at the files `sanoid.defaults.conf` and `sanoid.conf` for all possible configuration options. Also have a look at the README.md for a simpler suggestion for `sanoid.conf`. SYNCOID is a command line utility that doesn't require any configuration, with all of its switches set at runtime.