Skip to content
Advertisement

How to automatically snapshot a volume of an Amazon EC2 instance?

I’m trying a script to backup a volume automatically.

I follow this EBS-Snapshot.sh script as found on github:

JavaScript

I have the two files for X509 authentication, the instance ID but I don’t understand the script and how to parameterise the volume that I want to backup.

I don’t understand the first line (source) and the EC2_BIN. With that configuration, it lists all the volumes and makes a snapshot of all these…

For the comment of the snapshot, how can I change this line to add text?

JavaScript

I’m sorry to be a beginner but I don’t understand the whole script

EDIT :

I get this error with this new code:

Creating Snapshot for the volume: ([ec2-describe-volumes]) with description: -03-13-2012 Snapshot info below: Client.InvalidParameterValue: Value (([ec2-describe-volumes])) for parameter volumeId is invalid. Expected: ‘vol-…’. Process ended at 03-13-2012-08:11:35 –

And this is the code :

JavaScript

Advertisement

Answer

Ok well,

  1. The first line where he runs (source). Thats the same as . /etc/environment. Anyways all he’s doing is loading a file that has a list of environmental variables that amazon requires. At least this is what i assume.
  2. He’s making this script much more complicated than it needs to be. He doesn’t need to run the ec2-describe-instances command and save the output to a file then grep the output etc….
  3. You can put whatever you want for the DESC. You can just replace everything to the right of the = to whatever text you want. Just make sure to put quotes around it.

I would change two things about this script.

  1. Get the InstanceId at runtime in the script. Don’t hard code it into the script. This line will work no matter where the script is running.

    JavaScript
  2. Instead of calling ec2-describe-volumes and saving the output to a temp file etc… Just use a filter on the command and tell it which instance id you want.

    JavaScript
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement