Skip to main content

ZFS autobackup is used to periodicly backup ZFS filesystems to other locations. It tries to be the most friendly to use and easy to debug ZFS backup tool.

Project description

ZFS autobackup

NOTE: this is the v4.0 development branch. Not ready for testing yet!

This now will be the upcoming v4.0 release due to some major changes in how zfs-autobackup handles certain stuff

Tests Coverage Status Python Package CodeQL

Introduction

ZFS-autobackup tries to be the most reliable and easiest to use tool, while having all the features.

You can either use it as a backup tool, replication tool or snapshot tool.

You can select what to backup by setting a custom ZFS property. This makes it easy to add/remove specific datasets, or just backup your whole pool.

Other settings are just specified on the commandline: Simply setup and test your zfs-autobackup command and fix all the issues you might encounter. When you're done you can just copy/paste your command to a cron or script.

Since it's using ZFS commands, you can see what it's actually doing by specifying --debug. This also helps a lot if you run into some strange problem or errors. You can just copy-paste the command that fails and play around with it on the commandline. (something I missed in other tools)

An important feature that's missing from other tools is a reliable --test option: This allows you to see what zfs-autobackup will do and tune your parameters. It will do everything, except make changes to your system.

Features

  • Works across operating systems: Tested with Linux, FreeBSD/FreeNAS and SmartOS.
  • Low learning curve: no complex daemons or services, no additional software or networking needed.
  • Plays nicely with existing replication systems. (Like Proxmox HA)
  • Automatically selects filesystems to backup by looking at a simple ZFS property.
  • Creates consistent snapshots. (takes all snapshots at once, atomicly.)
  • Multiple backups modes:
    • Backup local data on the same server.
    • "push" local data to a backup-server via SSH.
    • "pull" remote data from a server via SSH and backup it locally.
    • "pull+push": Zero trust between source and target.
  • Can be scheduled via simple cronjob or run directly from commandline.
  • Also supports complex backup geometries.
  • ZFS encryption support: Can decrypt / encrypt or even re-encrypt datasets during transfer.
  • Supports sending with compression. (Using pigz, zstd etc)
  • IO buffering to speed up transfer.
  • Bandwidth rate limiting.
  • Multiple backups from and to the same datasets are no problem.
  • Resillient to errors.
  • Ability to manually 'finish' failed backups to see whats going on.
  • Easy to debug and has a test-mode. Actual unix commands are printed.
  • Uses progressive thinning for older snapshots.
  • Uses zfs-holds on important snapshots to prevent accidental deletion.
  • Automatic resuming of failed transfers.
  • Easy migration from other zfs backup systems to zfs-autobackup.
  • Gracefully handles datasets that no longer exist on source.
  • Complete and clean logging.
  • All code is regression tested against actual ZFS environments.
  • Easy installation:
    • Just install zfs-autobackup via pip.
    • Only needs to be installed on one side.
    • Written in python and uses zfs-commands, no special 3rd party dependency's or compiled libraries needed.
    • No annoying config files or properties.

Getting started

Please look at our wiki to Get started.

Or read the Full manual

Sponsor list

This project was sponsored by:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zfs_autobackup-4.0b1.tar.gz (81.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zfs_autobackup-4.0b1-py3-none-any.whl (66.2 kB view details)

Uploaded Python 3

File details

Details for the file zfs_autobackup-4.0b1.tar.gz.

File metadata

  • Download URL: zfs_autobackup-4.0b1.tar.gz
  • Upload date:
  • Size: 81.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for zfs_autobackup-4.0b1.tar.gz
Algorithm Hash digest
SHA256 46e26f26e381bb2f46cbc7584f3d4e929e5c816996013a93cf52404f8455dd26
MD5 74f3b98085df72578c5af099373b1c5a
BLAKE2b-256 d8a73575fc61cdd91a46b2adf2ff22d8d4bcb099e1575ef290052a9acad9094c

See more details on using hashes here.

File details

Details for the file zfs_autobackup-4.0b1-py3-none-any.whl.

File metadata

  • Download URL: zfs_autobackup-4.0b1-py3-none-any.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for zfs_autobackup-4.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 8da9be1add17dc87e261206671a040fb08a395db1b272d29be9f84a249f9aabc
MD5 0f60ca7afc7302df94f1b342e7c446f1
BLAKE2b-256 6e2d75b43aa06a08f064d0180af35bccb9d15d04a29ff9fc8f7dd9c7eac1d9e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page