pauldowman / blog_code_examples

Code examples from my blog

This URL has Read+Write access

blog_code_examples / mysql_s3_backup / incremental_backup.rb
759fe6d4 » pauldowman 2009-02-08 added code for MySQL backup... 1 #!/usr/bin/env ruby
2
3 require "common"
4
5 begin
6 FileUtils.mkdir_p @temp_dir
7 execute_sql "flush logs"
8 logs = Dir.glob("#{@mysql_bin_log_dir}/mysql-bin.[0-9]*").sort
9 logs_to_archive = logs[0..-2] # all logs except the last
10 logs_to_archive.each do |log|
11 # The following executes once for each filename in logs_to_archive
12 AWS::S3::S3Object.store(File.basename(log), open(log), @s3_bucket)
13 end
14 execute_sql "purge master logs to '#{File.basename(logs[-1])}'"
15 ensure
16 FileUtils.rm_rf(@temp_dir)
17 end