# jimsalterjrs/sanoid

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jimsalterjrs-sanoid).**

3,669 stars · 338 forks · Perl · gpl-3.0

## Links

- GitHub: https://github.com/jimsalterjrs/sanoid
- Homepage: http://www.openoid.net/products/
- awesome-repositories: https://awesome-repositories.com/repository/jimsalterjrs-sanoid.md

## Topics

`replication` `snapshot` `zfs-filesystem`

## Description

Sanoid is a policy-driven tool for ZFS backup automation, snapshot management, dataset replication, and storage monitoring. It manages the automated lifecycle of filesystem snapshots by translating configurable retention policies into specific creation and pruning commands.

The tool provides asynchronous incremental replication of datasets between local or remote hosts using secure tunnels. It differentiates itself by using a structured configuration system to apply standardized snapshot policies across nested filesystem hierarchies through recursive dataset traversal.

The software covers storage capacity management by thinning old snapshots to reclaim disk space and uses interval-based retention logic to maintain recovery points across hourly, daily, and monthly schedules. It also includes observability capabilities for reporting pool health, capacity, and snapshot integrity to external monitoring systems.

Sanoid supports custom automation through lifecycle hooks that trigger external shell scripts during snapshot and pruning events.

## Tags

### Data & Databases

- [Automated Snapshot Lifecycles](https://awesome-repositories.com/f/data-databases/consistency-tuning/point-in-time-snapshots/filesystem-snapshots/automated-snapshot-lifecycles.md) — Automates the creation and pruning of ZFS snapshots based on configurable hourly, daily, monthly, and yearly retention policies. ([source](https://cdn.jsdelivr.net/gh/jimsalterjrs/sanoid@master/README.md))
- [Automated Backup Systems](https://awesome-repositories.com/f/data-databases/automated-backup-systems.md) — Provides a system for managing automated ZFS filesystem backup lifecycles through configurable snapshot and pruning policies.
- [Incremental Block Transfers](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/replication-control-policy/secure-data-replication/incremental-block-transfers.md) — Implements asynchronous incremental replication of ZFS datasets using secure tunnels to minimize bandwidth.
- [Snapshot Thinning](https://awesome-repositories.com/f/data-databases/data-snapshotting/state-snapshots/snapshot-thinning.md) — Prunes old snapshots according to a defined schedule to reclaim disk space while maintaining required recovery points. ([source](https://openoid.net/transcend))
- [ZFS Storage Backends](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes/zfs-storage-backends.md) — Facilitates the replication of ZFS datasets to remote or local hosts to maintain consistent offsite backups.
- [ZFS Dataset Replication Tools](https://awesome-repositories.com/f/data-databases/zfs-dataset-replication-tools.md) — Provides a tool for performing asynchronous incremental replication of ZFS datasets between local or remote hosts.

### Part of an Awesome List

- [Backup and Snapshots](https://awesome-repositories.com/f/awesome-lists/data/backup-and-snapshots.md) — Automates the creation and deletion of ZFS snapshots based on tiered hourly, daily, and monthly retention policies.

### Development Tools & Productivity

- [Snapshot Policy Automation](https://awesome-repositories.com/f/development-tools-productivity/configuration-driven-orchestrators/policy-driven-orchestration/snapshot-policy-automation.md) — Uses a structured configuration file to translate retention rules into automated snapshot creation and pruning commands.

### DevOps & Infrastructure

- [Snapshot-Based Capacity Management](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/configuration-policy-enforcement/storage-capacity-planning/snapshot-based-capacity-management.md) — Reclaims disk space by pruning old ZFS snapshots according to a defined schedule and retention policy.
- [ZFS Dataset Replication](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-data-replication/zfs-dataset-replication.md) — Performs asynchronous incremental replication of ZFS filesystems between local or remote hosts using secure tunnels. ([source](https://cdn.jsdelivr.net/gh/jimsalterjrs/sanoid@master/README.md))

### Operating Systems & Systems Programming

- [ZFS Tool Wrappers](https://awesome-repositories.com/f/operating-systems-systems-programming/zfs-tool-wrappers.md) — Wraps low-level ZFS storage commands to manage filesystem snapshots and pool health through a coordinated control layer.

### System Administration & Monitoring

- [Tiered Retention Policies](https://awesome-repositories.com/f/system-administration-monitoring/tiered-retention-policies.md) — Calculates which snapshots to retain or prune based on a tiered frequency of hourly, daily, and monthly intervals.
- [ZFS Snapshot Management Tools](https://awesome-repositories.com/f/system-administration-monitoring/zfs-snapshot-management-tools.md) — Offers a policy-driven utility for automating the creation, thinning, and retention of ZFS filesystem snapshots.
- [Storage Pool Health Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/operational-health-alerting/health-monitoring-endpoints/application-health-monitors/storage-pool-health-monitors.md) — Reports on ZFS pool health and capacity in a format compatible with external monitoring systems. ([source](https://github.com/jimsalterjrs/sanoid/wiki/Sanoid))
- [Snapshot Policy Templates](https://awesome-repositories.com/f/system-administration-monitoring/snapshot-policy-templates.md) — Allows the definition of reusable configuration templates to apply consistent snapshot and pruning behaviors across multiple datasets. ([source](https://github.com/jimsalterjrs/sanoid/wiki/Sanoid))
- [Storage Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/storage-monitoring.md) — Reports on ZFS pool health, capacity, and snapshot status for integration with external monitoring systems.
- [ZFS Pool Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/zfs-pool-health-monitoring.md) — Tracks ZFS pool status and snapshot integrity to provide telemetry for external system monitoring tools.

### Software Engineering & Architecture

- [Dataset Hierarchy Traversal](https://awesome-repositories.com/f/software-engineering-architecture/recursive-validation-engines/recursive-tree-traversers/file-system-traversers/recursive-directory-traversers/dataset-hierarchy-traversal.md) — Walks through nested filesystem hierarchies to apply snapshot and replication policies across all child datasets.
