Giter VIP home page Giter VIP logo

aws-snapshot-tool's Introduction

aws-snapshot-tool

aws-snapshot-tool is a python script to make it easy to roll snapshot of your EBS volumes.

Simply add a tag to each volume you want snapshots of, configure and install a cronjob for aws-snapshot-tool and you are off. It will even handle rolling snapshots on a day, week and year so that you can setup the retention policy to suit.

Features:

  • Python based: Leverages boto and is easy to configure and install as a crontab
  • Simple tag system: Just add a tag to each of your EBS volumes you want snapshots of
  • Configure retention policy: Configure how many days, weeks, and month snapshots you want to retain
  • SNS Notifications: aws-snapshot-tool works with Amazon SNS our of the box, so you can be notified of snapshots

Usage

  1. Install and configure Python and Boto (See: https://github.com/boto/boto)

  2. Create a SNS topic in AWS and copy the ARN into the config file

  3. Subscribe with a email address to the SNS topic

  4. Create a snapshot user in IAM and put the key and secret in the config file

  5. Create a security policy for this user (see the iam.policy.sample)

  6. Copy config.sample to config.py

  7. Decide how many versions of the snapshots you want for day/week/month and change this in config.py

  8. Change the Region and Endpoint for AWS in the config.py file

  9. Optionally specify a proxy if you need to, otherwise set it to '' in the config.py

  10. Give every Volume for which you want snapshots a Tag with a Key and a Value and put these in the config file. Default: "MakeSnapshot" and the value "True"

  11. Install the script in the cron:

    # chmod +x makesnapshots.py
    # crontab -e
    30 1 * * 1-5 /opt/aws-snapshot-tool/makesnapshots.py day
    30 2 * * 6 /opt/aws-snapshot-tool/makesnapshots.py week
    30 3 1 * * /opt/aws-snapshot-tool/makesnapshots.py month
    

Additional Notes

The user that executes the script needs the following policies: see iam.policy.sample

aws-snapshot-tool's People

Contributors

cammanderson avatar evannuil avatar

Stargazers

 avatar

Watchers

 avatar

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.