Skip to content

avineshwar/EC2-BACKUP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

EC2-BACKUP(1) BSD General Commands Manual EC2-BACKUP(1)

NAME ec2-backup -- backup a directory into Elastic Block Storage (EBS)

SYNOPSIS ec2-backup [-h] [-m method] [-v volume-id] dir

DESCRIPTION The ec2-backup tool performs a backup of the given directory into Amazon Elastic Block Storage (EBS). This is achieved by creating a volume of the appropriate size, attaching it to an EC2 instance and finally copying the files from the given directory into this volume.

OPTIONS ec2-backup accepts the following command-line flags:

 -h 	   Print a usage statement and exit.

 -m method	   Use the given method to perform the backup.	Valid methods
	   are 'dd' and 'rsync'; default is 'dd'.

 -v volume-id  Use the given volume instead of creating a new one.

DETAILS ec2-backup will perform a backup of the given directory to an ESB volume. The backup is done in one of two ways: via direct write to the volume as a block device (utilizing tar(1) on the local host and dd(1) on the remote instance), or via a (possibly incremental) filesystem sync (uti- lizing rsync(1)).

 Unless the -v flag is specified, ec2-backup will create a new volume, the
 size of which will be at least two times the size of the directory to be
 backed up.

 ec2-backup will create an instance suitable to perform the backup, attach
 the volume in question and then back up the data from the given directory
 using the specified method and then shut down and terminate the instance
 it created.

OUTPUT By default, ec2-backup prints the volume ID of the volume to which it backed up the data as the only output. If the EC2_BACKUP_VERBOSE envi- ronment variable is set, it may also print out some useful information about what steps it is currently performing.

 Any errors encountered cause a meaningful error message to be printed to
 STDERR.

ENVIRONMENT ec2-backup assumes that the user has set up their environment for general use with the EC2 tools. That is, it will not set or modify any environ- ment variables.

 ec2-backup allows the user to add custom flags to the commands related to
 starting a new EC2 instance via the EC2_BACKUP_FLAGS_AWS environment
 variable.

 ec2-backup also assumes that the user has set up their ~/.ssh/config file
 to access instances in EC2 via ssh(1) without any additional settings.
 It does allow the user to add custom flags to the ssh(1) commands it
 invokes via the EC2_BACKUP_FLAGS_SSH environment variable.

 As noted above, the EC2_BACKUP_VERBOSE variable may cause ec2-backup to
 generate informational output as it runs.

EXIT STATUS The ec2-backup will exit with a return status of 0 under normal circum- stances. If an error occurred, ec2-backup will exit with a value >0.

EXAMPLES The following examples illustrate common usage of this tool.

 To back up the entire filesystem using rsync(1):

   $ ec2-backup -m rsync /
   vol-a1b2c3d4
   $ echo $?
   0
   $

 To create a complete backup of the current working directory using
 defaults (and thus not requiring a filesystem to exist on the volume) to
 the volume with the ID vol-1a2b3c4d:

   ec2-backup -v vol-1a2b3c4d .

 Suppose a user has their ~/.ssh/config set up to use the private key
 ~/.ec2/stevens but wishes to use the key ~/.ssh/ec2-key instead:

   $ export EC2_BACKUP_FLAGS_SSH="-i ~/.ssh/ec2-key"
   $ ec2-backup .
   vol-a1b2c3d4
   $

 To force creation of an instance type of t1.micro instead of whatever
 defaults might apply

   $ export EC2_BACKUP_FLAGS_AWS="--instance-type t1.micro"
   $ ec2-backup .
   vol-a1b2c3d4
   $

SEE ALSO aws help, dd(1), tar(1), rsync(1)

HISTORY ec2-backup was originally assigned by Jan Schaumann [email protected] as a homework assignment for the class "Aspects of System Administration" at Stevens Institute of Technology in the Spring of 2011.

BSD March 27, 2016 BSD

About

Homework 6 for CS615

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages