Git Product home page Git Product logo

zfs-to-aws's Introduction

Script to automate backing up ZFS datasets to AWS

The script uses ZFS send on a dataset and the aws cli to transfer the data. The idea is that it'll make periodic full backups, and incremental ones in between.

Metadata is stored with each S3 object that allows the script to decide the course of action, and nothing is known locally about what has already been backed up.

Each dataset has independently configurable options, as can be seen in the supplied example config file

Requirements:

  • aws cli installed and configured
  • non-standard packages: jq, pv

Recommendations:

  • specific aws user
  • retention policy to move datasets to glacier
  • lifecycle policy to automatically clear incomplete partial uploads

ToDo:

  • Delete old backups automatically
  • Date based rules for creating new full backups (rather than just absolute number)

zfs-to-aws's People

Contributors

agurk avatar pahi avatar

Stargazers

Trevor Wood avatar Michael Schout avatar Petteri Valkonen avatar Janitha Karunaratne avatar Site Reliability Enby avatar  avatar Aleksandr Ismagilov avatar  avatar Gerald Drouillard avatar mityagz avatar Alexander avatar Michael Pardatscher avatar Kristopher Cost avatar Shaun Maher avatar Darren Clark avatar Nathan Smyth avatar Heyang Zhou avatar Jan De Luyck avatar  avatar  avatar Trenton Schulz avatar ranjanprj avatar Dammian Miller avatar Michiel van Baak Jansen avatar Christian Haschek avatar Carlos Silva avatar  avatar  avatar

Watchers

 avatar  avatar Gerald Drouillard avatar Sylvain MAURIN avatar  avatar  avatar

zfs-to-aws's Issues

How to restore?

Thanks for sharing the backup script, much appreciated! Any chance you could share how you would go about restoring a backup from s3?

Client-Side Encryption?

@agurk Do you know if this works with client-side encryption? I'm unsure how to make that work with this configuration, but I see server-side is used currently. This would allow us to encrypt the rest of the ZFS-related metadata in natively encrypted pools - wouldn't it? AWS docs don't seem to give bash examples.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.