Skip to content

Instantly share code, notes, and snippets.

@steveh
Created October 7, 2009 00:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steveh/203615 to your computer and use it in GitHub Desktop.
Save steveh/203615 to your computer and use it in GitHub Desktop.
#!/opt/ruby-enterprise/bin/ruby
FILES = '/home/rankers/production.rankers.co.nz/shared/system'
DATABASE = 'rankers_production'
# End configuration
$start_time = Time.now
def elapsed_time
""
end
puts elapsed_time+"Begin"
# PostgreSQL dump
dump_bucket = "rankers-pgsql-"+Time.now.year.to_s
dump_filename = "pgdump-#{DATABASE}-"+Time.now.strftime('%Y-%m-%d-%H-%M-%S')+".bz2"
dump_path = "/tmp/#{dump_filename}"
`/opt/ruby-enterprise/bin/s3cmd createbucket #{dump_bucket}`
puts elapsed_time+"Created bucket #{dump_bucket}"
`pg_dump --format=t --blobs --clean --create --encoding=UTF-8 --no-owner #{DATABASE} | bzip2 > #{dump_path}`
puts elapsed_time+"Dumped #{DATABASE} to #{dump_path}"
`/opt/ruby-enterprise/bin/s3cmd put #{dump_bucket}:#{dump_filename} #{dump_path}`
puts elapsed_time+"Uploaded #{DATABASE} to #{dump_bucket}"
`rm #{dump_path}`
# Files
files_bucket = "rankers-files"
`/opt/ruby-enterprise/bin/s3cmd createbucket #{files_bucket}`
puts elapsed_time+"Created bucket #{files_bucket}"
`/opt/ruby-enterprise/bin/s3sync -r -v #{FILES} #{files_bucket}:`
puts elapsed_time+"Synced #{FILES} to #{files_bucket}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment