pauldowman / blog_code_examples
- Source
- Commits
- Network (4)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
blog_code_examples / mysql_s3_backup / incremental_backup.rb
| 759fe6d4 » | pauldowman | 2009-02-08 | 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 | ||||
