Warning: Use of undefined constant is_home - assumed 'is_home' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 151

Warning: Use of undefined constant posts_per_page - assumed 'posts_per_page' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 151

Warning: Use of undefined constant is_category - assumed 'is_category' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 152

Warning: Use of undefined constant posts_per_page - assumed 'posts_per_page' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 152

Warning: Use of undefined constant is_archive - assumed 'is_archive' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 153

Warning: Use of undefined constant posts_per_page - assumed 'posts_per_page' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 153

Warning: Use of undefined constant is_search - assumed 'is_search' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 154

Warning: Use of undefined constant posts_per_page - assumed 'posts_per_page' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 154

Warning: Use of undefined constant is_tag - assumed 'is_tag' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 155

Warning: Use of undefined constant posts_per_page - assumed 'posts_per_page' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 155

Warning: Use of undefined constant is_tag - assumed 'is_tag' (this will throw an Error in a future version of PHP) in /u/r/rgreenwald/websites/www.russgreenwald.com/docroot/wp-content/plugins/different-posts-per-page/diff-posts-per-page.php on line 292
Amazon EC2 Consistent Snapshots | Russ Greenwald

Amazon EC2 Consistent Snapshots

Amazon EC2 is the most powerful and customizable cloud based system management tool I’ve used. However nothing is obvious and everything needs to be researched and learned. I should probably start from the beginning, but I won’t, and I’ll start with backups. Lets focus on taking consistent daily snapshots of your data on Amazon and how long we will store them for.

Amzon AWS

Taking consistent snapshots of Amazon EC2 EBS instances has never been so easy. Thank You Eric Hammond and Erik

Step 1

On Ubuntu, you can install the ec2-consistent-snapshot package using the new Alestic PPA (personal package archive) hosted on Launchpad.net. Here are the steps to set up access to packages in the Alestic PPA and install the software package and its dependencies:

  • sudo add-apt-repository ppa:alestic &&
  • sudo apt-get update && sudo apt-get install -y ec2-consistent-snapshot

Step 2

Download http://www.thecloudsaga.com/wp-content/uploads/2010/03/ec2-manage-snapshots.zip and uzip into /srv/ec2-snapshots/ This script assumes we are running snapshots daily it keeps snapshots made:

  • in the last 7 days
  • the past 4 sundays
  • every first day of the month

unzip and configure config.ini for your access key, secret key, and region of server

Step 3

Now create a file in /srv/ec2-snapshots/ i.e. take_volume_snapshot.sh to look like

 #!/bin/sh
 # Takes a snapshot of the EBS volume/s

 export EC2_HOME=/usr/bin
 KEY_FILE=PUTYOURAWSACCESSKEYHERE
 CERT_FILE=PUTYOURSECRETAWSACCESSKEYHERE
 export JAVA_HOME=/usr/lib/jvm/default-java

 echo "starting weekly snapshots of ew.infomous server volumes..."

 $EC2_HOME/ec2-consistent-snapshot --aws-access-key-id $KEY_FILE --aws-secret-access-key $CERT_FILE vol-idnumberfromawsvolumeconsole
 #if you have more than one disk on the server
 $EC2_HOME/ec2-consistent-snapshot --aws-access-key-id $KEY_FILE --aws-secret-access-key $CERT_FILE vol-idnumberfromawsvolumeconsole

 echo "snapshots commands issued"

 #Remove old Snapshot Scripts
 echo "starting snapshot prune"

 /usr/bin/php /srv/ec2-snapshots/ec2-manage-snapshots/bin/ec2-manage-snapshots.php --volume vol-idnumberfromawsvolumeconsole
 /usr/bin/php /srv/ec2-snapshots/ec2-manage-snapshots/bin/ec2-manage-snapshots.php --volume vol-idnumberfromawsvolumeconsole

 echo "prune completed"

Step 4

Add the scripts to your scheduler

vim /etc/crontab

0 1 * * * root /srv/ec2-snapshots/take_volume_snapshot.sh

which runs every day at 1 am.

Make sure you

chmod u+x /srv/ec2-snapshots/take_volume_snapshot.sh


Comments are closed.