Automating Amazon EBS snapshots anyone have a good script or solution for this on linux [closed]

拟墨画扇 提交于 2019-11-29 20:08:55

You can easily script something to do this for you.

  1. setup the EC2 commandline API tools
  2. set EC2_CERT and EC2_PRIVATE_KEY in order to be able to use the API tools
  3. parse the results of ec2-describe-snapshots
  4. delete the appropriate snapshots

The results look something like:

SNAPSHOT    snap-xxxxxxxx   vol-xxxxxxxx    completed   2009-08-26T07:39:33+0000    100%

You can then do some parsing of the dates and sorting and start removing the older snapshots.

NOTE: I don't know if we can trust the sort order but I've never seen it sort any other way than oldest to newest.

To delete a snapshot, use ec2-delete-snapshot snap-xxxxxxxx.

The rest I leave to you as a simple Bash script that you can call daily or however often you need from cron.

Take a look at AWS missing tools and especially to https://github.com/colinbjohnson/aws-missing-tools/tree/master/ec2-automate-backup This does what you need.

Shameless plug, but - you can give Ebs2s3 a go: https://github.com/ajmfulcher/ebs2s3

Rails app to automate snapshot creation and prune old snapshots. Introduction and some screenshots here: http://ajmfulcher.blogspot.com/2011/04/ebs2s3-automated-backup-for-amazon-ebs.html

I found this, hope it helps:

ec2-describe-snapshots | sort -r -k 5 | sed 1,6d | awk '{print "Deleting snapshot: " $2}'; system("ec2-delete-snapshot " $2)' 

See: Bulk Delete EBS Snapshots From the Command Line (A Howto).

Rakesh Sankar

A wonderful script to create an automatic snapshots.

https://github.com/rakesh-sankar/Tools/blob/master/AmazonAWS/EBS/EBS-Snapshot.sh

Just copy the code and create a file, then add a cronjob whenever you want it to run.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!