zfs-replicate
https://github.com/alunduil/zfs-replicate
By Alex Brandt alunduil@gmail.com
Description
zfs-replicate sends all Zettabyte File System (ZFS) snapshots to a remote host by SSH. zfs-replicate
does not create ZFS snapshots.
zfs-replicate forks autorepl.py used by FreeNAS
.
zfs-replicate relates to several other projects, which fit other niches:
- sanoid: A full snapshot management system. Its companion,
syncoid
, handles replication with copious options.
- zfs-replicate (BASH): A similar project. The major differences include
configuration style and system expectations (for example, logging controls).
zfs-replicate uses parameters whereas zfs-replicate (BASH) uses a BASH script.
- znapzend: Another scheduling and replicating system.
- zrep: A SH script with several control commands for snapshot replication.
Terms of use
You are free to copy, change, and distribute zfs-replicate with attribution
under the terms of the BSD-2-Clause
licence. See the LICENSE for details.
Prerequisites
- A remote system with a ZFS filesystem and the
zfs
command-line tools
- If using lz4 compression, local and remote systems must have lz4 in their environments
- SSH access to that remote system
- If you're not using the root user remotely:
- Ensure the user can mount filesystems
- Add ZFS permissions
- Command:
zfs allow ${USER} ${PERMISSIONS} ${BACKUP_DATASET}
- Permissions
clone
create
destroy
hold
mount
promote
quota
readonly
receive
rename
reservation
rollback
send
snapshot
- A local ZFS filesystem and
zfs
command-line tools
N.B., don't use the root user to access your remote system.
How to use zfs-replicate
poetry install
poetry run -- zfs-replicate --help
Documentation
Getting support
- GitHub issues: Report any problems or features requests to GitHub issues.