lib/astrails/safe.rb in astrails-safe-0.1.6 vs lib/astrails/safe.rb in astrails-safe-0.1.7
- old
+ new
@@ -1,16 +1,27 @@
+require "aws/s3"
+require 'fileutils'
+
+require 'tempfile'
require 'extensions/mktmpdir'
+
require 'astrails/safe/tmp_file'
require 'astrails/safe/config/node'
require 'astrails/safe/config/builder'
require 'astrails/safe/stream'
+require 'astrails/safe/backup'
+
+require 'astrails/safe/backup'
+
require 'astrails/safe/source'
require 'astrails/safe/mysqldump'
+require 'astrails/safe/pgdump'
require 'astrails/safe/archive'
+require 'astrails/safe/svndump'
require 'astrails/safe/pipe'
require 'astrails/safe/gpg'
require 'astrails/safe/gzip'
@@ -21,21 +32,27 @@
module Astrails
module Safe
ROOT = File.join(File.dirname(__FILE__), "..", "..")
- def timestamp
- @timestamp ||= Time.now.strftime("%y%m%d-%H%M")
- end
-
def safe(&block)
config = Config::Node.new(&block)
#config.dump
- Astrails::Safe::Mysqldump.run(config[:mysqldump, :databases])
- Astrails::Safe::Archive.run(config[:tar, :archives])
+ [[Astrails::Safe::Mysqldump, [:mysqldump, :databases]],
+ [Astrails::Safe::Pgdump, [:pgdump, :databases]],
+ [Astrails::Safe::Archive, [:tar, :archives]],
+ [Astrails::Safe::Svndump, [:svndump, :repos]]
+ ].each do |klass, path|
+ if collection = config[*path]
+ collection.each do |name, config|
+ klass.new(name, config).backup.run(config, :gpg, :gzip, :local, :s3)
+ end
+ end
+ end
+
Astrails::Safe::TmpFile.cleanup
end
+ module_function :safe
end
end
-