s3-backup
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Easy tar-based backups to S3, with backup rotation, cleanup helpers, and pre-/post-backup hooks.
= s3-backup

Easy tar-based backups to S3, with backup rotation, cleanup helpers, and pre-/post-backup hooks.

== Install

  sudo gem install s3-backup

== Easy Example

    b = S3Backup.new('vps-backups')  # Init with the name of bucket to push to; keys handled by AWSCredentials
    
    b.files << '/usr/local/important.data'
    b.files << '/usr/local/more/important.data'
    b.files << '/usr/local/secrets'
    
    b.run  

This will:

1. Create a .tar.gz file including everything in files
2. Push tar to S3
3. Delete old backups (keeps 5 by default, but you can change copies_to_keep)
4. Remove scratch files

== Hooks

S3Backup also includes a before_backup and after_backup hook to take care of preparing dumpfiles
and restarting services.  These are just blocks of code.

Also useful, files_to_cleanup contains a list of files to cleanup post-backup.  You
can add your scratch files to this list and they'll be deleted after each run, even if an error is encountered.

tar_excludes is an array of patterns for tar to exclude -- for example, "*.log"

For example:

    b = S3Backup.new('vps-backups')

    b.before_backup do
      `mysqldump -h locahost important_data > /tmp/important_data.sql`
      raise "mysqdump failed" if !$?.success?

      b.files_to_cleanup << '/tmp/important_data.sql'
      b.files << '/tmp/important_data.sql'
    end

    b.run

You'll find additional opts in the S3Backup docs.

== Suggested deployment

Create a ruby script, and add to your crontab.  Don't forget to 2>&1 the output and set a MAILTO to get error notices.

== Notes

1. This uses AWSCredentials[http://github.com/bkoski/aws_credentials] to manage AWS keys.
2. This doesn't work on Windows.

== Copyright

Copyright (c) 2010 Ben Koski. See LICENSE for details.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。