{"id":687,"date":"2016-07-08T08:13:44","date_gmt":"2016-07-08T02:43:44","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=687"},"modified":"2016-07-08T08:13:44","modified_gmt":"2016-07-08T02:43:44","slug":"python-script-to-take-backup-of-ec2-volume-with-days-retention","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/python-script-to-take-backup-of-ec2-volume-with-days-retention\/","title":{"rendered":"Python Script to take backup of Ec2 Volume with days retention"},"content":{"rendered":"<p><strong>Assumption:<\/strong><\/p>\n<ol>\n<li>We have access key and secret key which has a privilege to create snapshot, delete snapshot, list volumes,etc.,<\/li>\n<li>The script will keep 4 days retention and delete the old backups.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<pre>#!\/usr\/bin\/python\r\n#Author:Dhanasekaran N\r\n#Email:dhanasekaran.n16@gmail.com,support@pheonixsolutions.com\r\n#Usage:python create_aws_snapshot.py AWS_TAG_NAME\r\n#Version:1.0\r\n#Here come I.......\r\nfrom datetime import datetime, timedelta\r\nimport datetime\r\nimport time\r\nfrom dateutil import parser\r\nimport sys,os,time,re,argparse\r\nimport boto,boto.ec2,boto.utils\r\nconn=boto.ec2.connect_to_region('ap-southeast-1', aws_access_key_id='XXXXXXXXX',aws_secret_access_key='xxxxxxxxxxxxxxx');\r\n\r\nreservations=conn.get_all_instances()\r\nall_volumes_info = conn.get_all_volumes()\r\nall_snapshot = conn.get_all_snapshots()\r\n\r\n##Modify the retention period\r\ndate_4_days_ago=datetime.datetime.now() - datetime.timedelta(days=4) \r\n\r\n\r\ncommand_line_instance=sys.argv[1];\r\nfor name in reservations:\r\n\tfor instance in name.instances:\r\n\t\taws_inst_name=instance.tags.get(\"Name\")\r\n\t\t#print aws_inst_name\r\n\t\tif(aws_inst_name == command_line_instance):\r\n\t\t\tprint \"perfect\" + command_line_instance;\r\n\t\t\tfor volumes in all_volumes_info:\r\n\t\t\t\tif volumes.attach_data.instance_id == instance.id:\r\n\t\t\t\t\tprint \"Taking backup of volumes\";\r\n\t\t\t\t\tprint \"Instance ID:%s\" %(instance.id);\r\n\t\t\t\t\tprint \"Volume ID:%s\" %(volumes.id);\r\n\t\t\t\t\tprint \"Instance Name:%s\" %(aws_inst_name);\r\n\t\t\t\t\tfor snap_delete in all_snapshot:\r\n\t\t\t\t\t\tif(snap_delete.volume_id == volumes.id):\r\n\t\t\t\t\t\t\tif parser.parse(snap_delete.start_time).date() &lt; date_4_days_ago.date():\r\n\t\t\t\t\t\t\t\tconn.delete_snapshot(snap_delete.id);\r\n\r\n\r\n\t\t\t\t\t\r\n<\/pre>\n<p><strong>Usage:<\/strong><br \/>\npython aws_create_snapshot.py AWS_TAG_NAME<\/p>\n<p>&nbsp;<\/p>\n<p>Next time with all the instance with configuration \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Assumption: We have access key and secret key which has a privilege to create snapshot, delete snapshot, list volumes,etc., The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1019],"tags":[],"class_list":["post-687","post","type-post","status-publish","format-standard","hentry","category-cloud-aws","psol-cat-cloud-aws"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-b5","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":0,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/687\/revisions"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}