zfs-autobackup

3.3last stable release 4 months ago
Complexity Score
Low
Open Issues
17
Dependent Projects
0
Weekly Downloadsglobal
819

License

  • GPL-3.0

    Downloads

    Readme

    ZFS autobackup

    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:

    • JetBrains
    • https://rsync.net
    • DatuX

    Dependencies

    Loading dependencies...

    CVE IssuesActive
    0
    Scorecards Score
    5.30
    Test Coverage
    86.00%
    Follows Semver
    No
    Github Stars
    614
    Dependenciestotal
    2
    DependenciesOutdated
    0
    DependenciesDeprecated
    0
    Threat Modelling
    No
    Repo Audits
    No

    Learn how to distribute zfs-autobackup in your own private PyPI registry

    pip install zfs-autobackup
    Processing...
    Done

    41 Releases

    PyPI on Cloudsmith

    Getting started with PyPI on Cloudsmith is fast and easy.