% zelta(8) | System Manager's Manual
zelta - perform safe, recursive ZFS operations locally and remotely
zelta -V | \--version | version
zelta SUBCOMMAND [OPTIONS] [ARGUMENTS]
zelta provides tools for ZFS replication, backup verification, dataset recovery, and policy-based automation. All operations work recursively on dataset trees and support both local and remote execution via ssh(1).
Remote dataset endpoints follow scp(1) conventions. Operations can be performed without installing zelta on remote systems—only standard ZFS utilities and SSH access are required.
Examples:
Local: pool/dataset@snapshot
Remote: user@example.com:pool/dataset@snapshot
IPv6: user@[2001:db8::1]:pool/dataset
See zfs(8) for dataset naming conventions.
For detailed usage of each subcommand, run zelta help or see the respective manual page.
zelta -?
: Display help message.
zelta -V, --version, version
: Display version information.
zelta match source target
: Compare two dataset trees and report matching snapshots or discrepancies. See zelta-match(8).
zelta backup source target
: Replicate a dataset tree. Creates snapshots if needed, detects optimal send options, and replicates intermediate snapshots. See zelta-backup(8).
zelta snapshot endpoint
: Create recursive snapshots on a local or remote endpoint. See zelta-snapshot(8).
zelta clone dataset target
: Create a writable clone of a dataset tree. See zelta-clone(8).
zelta revert dataset
: Rewind a dataset to a previous snapshot by renaming and cloning. Preserves current state. See zelta-revert(8).
zelta rotate source target
: Preserve divergent dataset versions through rename and clone operations. See zelta-rotate(8).
zelta failover source target
: Lock an active source, perform a final backup, sync local properties, and unlock the promoted target. See zelta-failover(8).
zelta rebase upstream target
: Rebase a dataset onto an upgraded upstream while preserving local files and incremental backup continuity. See zelta-rebase(8).
zelta lock endpoint
: Apply ordered dataset-tree readonly, canmount, unmount, and remount operations for promotion workflows. See zelta-failover(8).
zelta unlock endpoint
: Reverse zelta lock for a promoted or maintained dataset tree. See zelta-failover(8).
zelta propsync source target
: Replay local ZFS properties from one dataset tree to another while preserving target-only local overrides. See zelta-failover(8).
zelta prune source [target]
: Plan snapshot pruning without destroying data. See zelta-prune(8).
zprune source [target]
: Validate and destroy snapshots selected by zelta prune. See zprune(8).
zelta policy [options]
: Execute replication operations based on configuration file definitions. See zelta-policy(8).
Configuration follows a hierarchy from lowest to highest precedence:
1. Internal defaults
2. `~/.config/zelta/zelta.env` if present, otherwise `/usr/local/etc/zelta/zelta.env`
3. Policy configuration (`zelta.conf`)
4. Environment variables
5. Command-line arguments
See zelta-options(7) for details.
~/.config/zelta/zelta.conf
: User policy configuration file, used by default when present.
/usr/local/etc/zelta/zelta.conf
: System policy configuration file, used when user configuration is absent.
~/.config/zelta/zelta.env
: User default setting overrides, used by default when present.
/usr/local/etc/zelta/zelta.env
: System default setting overrides, used when user configuration is absent.
~/.local/share/zelta/doc
: User-installed Zelta manual root, containing man7 and man8 directories.
/usr/local/man
: System manual root used by root installs.
The following examples use "sink" as the source pool and "tank" as the backup target.
Replicate a dataset to a remote host:
zelta backup sink/data/project backupuser@backup-host.example:tank/backups/project
Compare local and remote dataset trees:
zelta match sink/data remote:tank/backups
Revert a dataset to its previous snapshot:
zelta revert sink/data/project
Update a target that has diverged:
zelta rotate sink/data/project backupuser@backup-host.example:tank/backups/project
Back up everything defined in policy settings (zelta.conf).
zelta policy
Returns 0 on success, non-zero on error.
See zelta-options(7) for environment variables and zelta.env configuration.
zelta sync remains available for compatibility as an alias for zelta backup -i. New documentation uses explicit zelta backup commands.
zelta-match(8), zelta-backup(8), zelta-policy(8), zelta-clone(8), zelta-options(7), zelta-prune(8), zprune(8), zelta-rebase(8), zelta-failover(8), zelta-revert(8), zelta-rotate(8), zelta-snapshot(8), cron(8), ssh(1), zfs(8)
Daniel J. Bell <bellhyve@zelta.space>