diff options
| author | intrigeri <intrigeri@boum.org> | 2010-01-09 23:14:17 +0100 | 
|---|---|---|
| committer | intrigeri <intrigeri@boum.org> | 2010-01-09 23:14:17 +0100 | 
| commit | 64c4d190a3ab6b4fa60b10208b32f3b270a72482 (patch) | |
| tree | 9eb0836af6a9576e0a5d415d0a92ba2c153f3e05 | |
| parent | 0fbd8744f5c10649b7239c3199dae229a30e10a9 (diff) | |
| download | backupninja-64c4d190a3ab6b4fa60b10208b32f3b270a72482.tar.gz backupninja-64c4d190a3ab6b4fa60b10208b32f3b270a72482.tar.bz2 | |
dup: support backups to Amazon S3 buckets
Thanks to stefan <s.freudenberg@jpberlin.de> for the patch.
This fixes Redmine bug #658.
| -rw-r--r-- | AUTHORS | 3 | ||||
| -rw-r--r-- | ChangeLog | 1 | ||||
| -rw-r--r-- | README | 10 | ||||
| -rw-r--r-- | examples/example.dup | 12 | ||||
| -rw-r--r-- | handlers/dup.helper.in | 6 | ||||
| -rw-r--r-- | handlers/dup.in | 11 | 
6 files changed, 42 insertions, 1 deletions
| @@ -30,4 +30,5 @@ Matthew Palmer <mpalmer@debian.org> -- halt loglevel feature  dan@garthwaite.org -- reportspace bugfix  Tuomas Jormola <tj@solitudo.net> -- "when = manual" option  Ian Beckwith <ianb@erislabs.net> -- dup bandwidthlimit fix -Olivier Berger <oberger@ouvaton.org> -- dup debug output bugfix, reportinfo option
\ No newline at end of file +Olivier Berger <oberger@ouvaton.org> -- dup debug output bugfix, reportinfo option +stefan <s.freudenberg@jpberlin.de> -- dup support for Amazon S3 buckets @@ -59,6 +59,7 @@ version 0.9.7 -- UNRELEASED  	 . Report duplicity output as "info" so that it can be included in  	   report e-mail when reportinfo is on (Closes: #563734)  	 . Fix include/exclude paths with spaces +	 . Support backups to Amazon S3 buckets, thanks to stefan for the patch.      helper changes  	dup:  	 . Do not propose to exclude /home/*/.gnupg twice anymore @@ -182,6 +182,16 @@ blank by hitting return.  The included helper program "ninjahelper" will walk you through creating  an rdiff-backup configuration, and will set up the ssh keys for you. + +Amazon Simple Storage Service (S3) +================================== + +Duplicity can store backups on Amazon S3 buckets, taking care of encryption. +Since it performs incremental backups it minimizes the number of request per +operation therefore reducing the costs. The boto Python interface to Amazon +Web Services is needed to use duplicity with S3 (Debian package: python-boto). + +  INSTALLATION  ============ diff --git a/examples/example.dup b/examples/example.dup index 2b59fe5..ea4d66e 100644 --- a/examples/example.dup +++ b/examples/example.dup @@ -8,6 +8,8 @@  ## passed directly to duplicity, e.g. to increase verbosity set this to:  ## options = --verbosity 8 +## when using the Amazon S3 backend to create buckets in Europe: +## options = --s3-european-buckets --s3-use-new-style  ##  ## Default:  # options =  @@ -158,11 +160,21 @@ exclude = /home/*/.gnupg  ## examples include:  ## desturl = file:///usr/local/backup  ## desturl = rsync://user@other.host//var/backup/bla +## desturl = s3+http://  ## the default value of this configuration option is not set:  ##  ## Default:  # desturl =  +## Amazon Web Services Access Key ID and Secret Access Key, needed for backups +## to S3 buckets. +## awsaccesskeyid = YOUR_AWS_ACCESS_KEY_ID +## awssecretaccesskey = YOUR_AWS_SECRET_KEY +## +## Default: +# awsaccesskeyid =  +# awssecretaccesskey =  +  ## bandwith limit, in kbit/s ; default is 0, i.e. no limit an example  ## setting would be:  ## bandwidthlimit = 128 diff --git a/handlers/dup.helper.in b/handlers/dup.helper.in index 2fafb99..ae48e4c 100644 --- a/handlers/dup.helper.in +++ b/handlers/dup.helper.in @@ -403,6 +403,12 @@ keep = $dup_keep  # bandwithlimit. For details, see duplicity manpage, section "URL FORMAT".  #desturl = file:///usr/local/backup  #desturl = rsync://user@other.host//var/backup/bla +#desturl = s3+http://your_bucket + +# Amazon Web Services Access Key ID and Secret Access Key, needed for backups +# to S3 buckets. +#awsaccesskeyid = YOUR_AWS_ACCESS_KEY_ID +#awssecretaccesskey = YOUR_AWS_SECRET_KEY  # bandwith limit, in kbit/s ; default is 0, i.e. no limit  #bandwidthlimit = 128 diff --git a/handlers/dup.in b/handlers/dup.in index 2f55b9c..ffae48c 100644 --- a/handlers/dup.in +++ b/handlers/dup.in @@ -26,6 +26,8 @@ setsection dest  getconf incremental yes  getconf keep 60  getconf desturl +getconf awsaccesskeyid +getconf awssecretaccesskey  getconf sshoptions  getconf bandwidthlimit 0  getconf desthost @@ -38,6 +40,9 @@ destdir=${destdir%/}  [ -n "$desturl" -o -n "$destdir" ]  || fatal "The destination directory (destdir) must be set when desturl is not used."  [ -n "$include" -o -n "$vsinclude" ]  || fatal "No source includes specified"  [ -n "$password" ] || fatal "The password option must be set." +if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]; then +   [ -n "$awsaccesskeyid" -a -n "$awssecretaccesskey" ]  || fatal "AWS access keys must be set for S3 backups." +fi  ### VServers  # If vservers are configured, check that the ones listed in $vsnames do exist. @@ -227,6 +232,12 @@ set +o noglob  execstr_source=${execstr_source//\\*/\\\\\\*} +### If desturl is an S3 URL export the AWS environment variables +if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]; then +   export AWS_ACCESS_KEY_ID="$awsaccesskeyid" +   export AWS_SECRET_ACCESS_KEY="$awssecretaccesskey" +fi +  ### Cleanup commands (duplicity >= 0.4.4)  # cleanup | 
