bigbackup 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,68 @@
1
+ #----------------------------------------------------------------------------
2
+ # Ignore these files when commiting to a git repository
3
+ #----------------------------------------------------------------------------
4
+
5
+ # bundler state
6
+ /.bundle
7
+ /vendor/bundle/
8
+
9
+ # minimal Rails specific artifacts
10
+ db/*.sqlite3
11
+ /log/*
12
+ tmp/*
13
+
14
+ # various artifacts
15
+ **.war
16
+ *.rbc
17
+ *.sassc
18
+ .rspec
19
+ .sass-cache
20
+ /config/config.yml
21
+ /config/database.yml
22
+ /coverage.data
23
+ /coverage/
24
+ /db/*.javadb/
25
+ /db/*.sqlite3-journal
26
+ /doc/api/
27
+ /doc/app/
28
+ /doc/features.html
29
+ /doc/specs.html
30
+ /public/cache
31
+ /public/stylesheets/compiled
32
+ /public/system
33
+ /spec/tmp/*
34
+ /cache
35
+ /capybara*
36
+ /capybara-*.html
37
+ /gems
38
+ /rerun.txt
39
+ /spec/requests
40
+ /spec/routing
41
+ /spec/views
42
+ /specifications
43
+
44
+ # scm revert files
45
+ **.orig
46
+
47
+ # Mac finder artifacts
48
+ .DS_Store
49
+
50
+ # Netbeans project directory
51
+ /nbproject/
52
+
53
+ # RubyMine project directory
54
+ .idea
55
+
56
+ # Textmate project files
57
+ /*.tmpproj
58
+
59
+ # vim artifacts
60
+ **.swp
61
+
62
+
63
+ public/uploads
64
+ non_public
65
+ uploads
66
+
67
+ # CI reports
68
+ reports
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in bigbackup.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,38 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bigbackup (1.0.0)
5
+ activesupport
6
+ mail
7
+ rainbow
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ activesupport (3.0.7)
13
+ diff-lcs (1.1.2)
14
+ i18n (0.5.0)
15
+ mail (2.3.0)
16
+ i18n (>= 0.4.0)
17
+ mime-types (~> 1.16)
18
+ treetop (~> 1.4.8)
19
+ mime-types (1.16)
20
+ polyglot (0.3.1)
21
+ rainbow (1.1.1)
22
+ rspec (2.6.0)
23
+ rspec-core (~> 2.6.0)
24
+ rspec-expectations (~> 2.6.0)
25
+ rspec-mocks (~> 2.6.0)
26
+ rspec-core (2.6.0)
27
+ rspec-expectations (2.6.0)
28
+ diff-lcs (~> 1.1.2)
29
+ rspec-mocks (2.6.0)
30
+ treetop (1.4.9)
31
+ polyglot (>= 0.3.1)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ bigbackup!
38
+ rspec
data/README.rdoc ADDED
@@ -0,0 +1,21 @@
1
+ = BigBackup
2
+
3
+ BigBackup is a multi backup tool.
4
+
5
+ == Install
6
+
7
+ [sudo] gem install bigbackup
8
+
9
+ == Supported Databasses
10
+
11
+ * mysql
12
+ * mongodb
13
+
14
+ == Uploader
15
+
16
+ * ftp
17
+
18
+ == Archive
19
+
20
+ * tar
21
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler'
2
+ require "rspec"
3
+ require 'rspec/core/rake_task'
4
+
5
+ Bundler::GemHelper.install_tasks
6
+ RSpec::Core::RakeTask.new(:spec)
data/bigbackup.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require File.expand_path("../lib", __FILE__)+ "/big_backup/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "bigbackup"
8
+ s.version = BigBackupInfo::VERSION
9
+ s.platform = Gem::Platform::RUBY
10
+ s.authors = ["Alexander Klaiber"]
11
+ s.email = ["alex.klaiber@gmail.com"]
12
+ s.homepage = ""
13
+ s.summary = %q{BigBackup is a multi backup tool.}
14
+ s.description = s.summary
15
+
16
+ s.rubyforge_project = "big_backup"
17
+
18
+ s.add_development_dependency "rspec"
19
+ s.add_dependency 'activesupport'
20
+ s.add_dependency 'mail'
21
+ s.add_dependency 'rainbow'
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
26
+ s.require_paths = ["lib"]
27
+ end
data/bin/bigbackup.rb ADDED
@@ -0,0 +1,26 @@
1
+ require "#{File.dirname(__FILE__)}/../lib/big_backup"
2
+
3
+ require 'optparse'
4
+
5
+ OptionParser.new do |opts|
6
+ opts.banner = "Usage: big_backup.rb [@options]"
7
+
8
+ opts.on("-c", "--config [CONFIGPATH]", String, "Path to Back Config yml (default : #{BigBackup.config_path})") do |config_path|
9
+ BigBackup.config_path = config_path
10
+ end
11
+
12
+ opts.separator ""
13
+ opts.separator "Common options:"
14
+
15
+ opts.on_tail("-h", "--help", "Show this message") do
16
+ puts opts
17
+ exit
18
+ end
19
+
20
+ opts.on_tail("--version", "Show version") do
21
+ puts BigBackupInfo::VERSION
22
+ exit
23
+ end
24
+ end.parse!
25
+
26
+ BigBackup.run
@@ -0,0 +1,29 @@
1
+ tmpdir : /tmp
2
+
3
+ backup_server:
4
+ ftp:
5
+ ip: 127.0.0.1
6
+ user: user
7
+ passwd: password
8
+
9
+
10
+ directories:
11
+ - /home/aklaiber/bin
12
+
13
+ databases:
14
+ mongodb:
15
+ bonayou_development:
16
+ host: localhost
17
+ database: bonayou_development
18
+
19
+ freecent-development:
20
+ host: localhost
21
+ database: freecent-development
22
+
23
+
24
+ mysql:
25
+ comunio_de:
26
+ host: localhost
27
+ database: comunio_de
28
+ username: root
29
+ password: Ac$23hBx
data/lib/big_backup.rb ADDED
@@ -0,0 +1,39 @@
1
+ require "bundler/setup"
2
+
3
+ require 'active_support/core_ext'
4
+ require "yaml"
5
+ require 'rainbow'
6
+ require 'fileutils'
7
+
8
+ require "#{File.dirname(__FILE__)}/big_backup/base"
9
+
10
+ require "#{File.dirname(__FILE__)}/big_backup/archive"
11
+
12
+ require "#{File.dirname(__FILE__)}/big_backup/databases/base"
13
+ require "#{File.dirname(__FILE__)}/big_backup/databases/mysql"
14
+ require "#{File.dirname(__FILE__)}/big_backup/databases/mongodb"
15
+
16
+ require "#{File.dirname(__FILE__)}/big_backup/uploader/base"
17
+ require "#{File.dirname(__FILE__)}/big_backup/uploader/ftp"
18
+
19
+ module BigBackup
20
+
21
+ @@options = {}
22
+ @@options[:config_path] = "/usr/local/etc/bigbackup/bigbackup.yml"
23
+ @@options[:mail_config_path] = "/usr/local/etc/bigbackup/bigbackup_mail.yml"
24
+
25
+ def self.config_path=(config_path)
26
+ @@options[:config_path] = config_path
27
+ end
28
+
29
+ def self.config_path
30
+ @@options[:config_path]
31
+ end
32
+
33
+ def self.run
34
+ Base.new.start
35
+ end
36
+
37
+ end
38
+
39
+
@@ -0,0 +1,29 @@
1
+ module BigBackup
2
+ class Archive
3
+
4
+ def initialize(config)
5
+ @config = config
6
+ end
7
+
8
+ def build_cmd(timestamp = nil)
9
+ cmd_line = String.new
10
+ if @config.kind_of?(Array)
11
+ @config.each do |dir|
12
+ cmd_line << " && " unless cmd_line.empty?
13
+ cmd_line << "tar -czf /tmp/bigbackup/#{File.basename(dir)}.tar.gz #{dir} > /dev/null 2>&1"
14
+ end
15
+ elsif @config.kind_of?(Hash)
16
+ @config.each_key do |database_name|
17
+ cmd_line << " && " unless cmd_line.empty?
18
+ unless timestamp.blank?
19
+ cmd_line << "tar -czf /tmp/bigbackup/#{database_name}_#{timestamp}.tar.gz /tmp/bigbackup/#{database_name}_#{timestamp} > /dev/null 2>&1"
20
+ else
21
+ cmd_line << "tar -czf /tmp/bigbackup/#{database_name}.tar.gz /tmp/bigbackup/#{database_name} > /dev/null 2>&1"
22
+ end
23
+ end
24
+ end
25
+ cmd_line
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,115 @@
1
+ module BigBackup
2
+ class Base
3
+
4
+ def initialize
5
+ @current_time = Time.now.strftime("%Y.%m.%d")
6
+ end
7
+
8
+ def start_message(message)
9
+ puts "\nStart".bright+" -> #{message}"
10
+ end
11
+
12
+ def ok_message(message)
13
+ puts "OK".color(:green).bright+" -> #{message}"
14
+ end
15
+
16
+ def error_message(message)
17
+ puts "ERROR".color(:red).bright+" -> #{message}"
18
+ end
19
+
20
+ def exec_cmd(line)
21
+ system(line)
22
+ if $?.exitstatus > 0
23
+ error_message(line)
24
+ else
25
+ ok_message(line)
26
+ end
27
+ end
28
+
29
+ def backup_config
30
+ if File.exists?(BigBackup.config_path)
31
+ @backup_config ||= YAML.load_file(BigBackup.config_path)
32
+ else
33
+ @backup_config ||= YAML.load_file("#{File.dirname(__FILE__)}/../../config/bigbackup.yml")
34
+ end
35
+ end
36
+
37
+ def backup_databases
38
+ puts "\nCreate Backups".bright.color(:cyan)
39
+ self.backup_config['databases'].each do |type, config|
40
+ cmd_line = BigBackup::Database::Base.build(type, config).build_cmd(@current_time)
41
+ unless cmd_line.blank?
42
+ start_message(cmd_line)
43
+ exec_cmd(cmd_line)
44
+ end
45
+ end
46
+ end
47
+
48
+ def archive_databases
49
+ puts "\nArchive Backups".bright.color(:cyan)
50
+ self.backup_config['databases'].each do |type, config|
51
+ cmd_line = BigBackup::Archive.new(config).build_cmd(@current_time) + " > /dev/null 2>&1"
52
+ unless cmd_line.blank?
53
+ start_message(cmd_line)
54
+ exec_cmd(cmd_line)
55
+ end
56
+ end
57
+ end
58
+
59
+ def upload_databases
60
+ if self.backup_config.include?('backup_server')
61
+ puts "\nUpload Backups".bright.color(:cyan)
62
+ self.backup_config['databases'].each do |type, config|
63
+ start_message("upload #{type} backups")
64
+ begin
65
+ BigBackup::Uploader::Base.build(:ftp, config).upload(type, @current_time)
66
+ ok_message("database backups uploaded")
67
+ rescue Errno::ECONNREFUSED
68
+ error_message("Can't connect to FTP Server")
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ def archive_directories
75
+ puts "\nCreate directories backups".bright.color(:cyan)
76
+ cmd_line = BigBackup::Archive.new(self.backup_config['directories']).build_cmd + " > /dev/null 2>&1"
77
+ unless cmd_line.blank?
78
+ start_message(cmd_line)
79
+ exec_cmd(cmd_line)
80
+ end
81
+ end
82
+
83
+ def upload_directories
84
+ if self.backup_config.include?('backup_server')
85
+ puts "\nUpload directories Backups".bright.color(:cyan)
86
+ start_message("upload directorie backups")
87
+ begin
88
+ BigBackup::Uploader::Base.build(:ftp, self.backup_config['directories']).upload("directories_backup", @current_time)
89
+ ok_message("directories uploaded")
90
+ rescue Errno::ECONNREFUSED
91
+ error_message("Can't connect to FTP Server")
92
+ end
93
+ end
94
+ end
95
+
96
+ def start
97
+ FileUtils.rm_rf "/tmp/bigbackup"
98
+ Dir.mkdir "/tmp/bigbackup"
99
+ if File.directory?("/tmp/bigbackup")
100
+ puts "\nStart BigBackup \n".color(:green).bright
101
+ if self.backup_config.include?('databases')
102
+ self.backup_databases
103
+ self.archive_databases
104
+ self.upload_databases
105
+ end
106
+ if self.backup_config.include?('directories')
107
+ self.archive_directories
108
+ self.upload_directories
109
+ end
110
+ puts "\nStop BigBackup \n".color(:green).bright
111
+ end
112
+ end
113
+
114
+ end
115
+ end
@@ -0,0 +1,59 @@
1
+ module BigBackup
2
+ module Database
3
+ class Base
4
+
5
+ def initialize(config)
6
+ @config = config
7
+ end
8
+
9
+ def self.build(type, config)
10
+ "BigBackup::Database::#{type.to_s.classify}".constantize.new(config)
11
+ end
12
+
13
+ protected
14
+
15
+ def database_system
16
+ raise "Please define the database system"
17
+ end
18
+
19
+ def cmd_options
20
+ raise "Please define the cmd options"
21
+ end
22
+
23
+ def cmd_line(backup_name, database_config, timestamp)
24
+ raise "Please define the cmd line"
25
+ end
26
+
27
+ public
28
+
29
+ def build_cmd(timestamp)
30
+ str = String.new
31
+ @config.each do |database, config|
32
+ str << " && " unless str.empty?
33
+ str << self.cmd_line(database, config, timestamp)
34
+ end
35
+ str;
36
+ end
37
+
38
+ private
39
+
40
+ def build_cmd_options(database_config)
41
+ options_line = String.new
42
+ database_config.each do |key, value|
43
+ if self.cmd_options.include?(key)
44
+ case key
45
+ when 'password'
46
+ options_line << "#{self.cmd_options[key]}'#{value}' "
47
+ when 'username'
48
+ options_line << "#{self.cmd_options[key]} #{value} "
49
+ else
50
+ options_line << "#{self.cmd_options[key]} #{value} "
51
+ end
52
+ end
53
+ end
54
+ options_line
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,30 @@
1
+ module BigBackup
2
+ module Database
3
+ class Mongodb < Base
4
+
5
+ protected
6
+
7
+ def database_system
8
+ "mongodb"
9
+ end
10
+
11
+ def cmd_options
12
+ cmd_options = {}
13
+ cmd_options["host"] = '-h'
14
+ cmd_options["database"] = '-d'
15
+ cmd_options["password"] = '-p'
16
+ cmd_options["username"] = '-u'
17
+ return cmd_options
18
+ end
19
+
20
+ def cmd_line(backup_name, database_config, filename)
21
+ "mongodump #{build_cmd_options(database_config)}-o /tmp/bigbackup/#{backup_name}_#{filename} > /dev/null 2>&1"
22
+ end
23
+
24
+ def backup_dir
25
+ "mongodb"
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,29 @@
1
+ module BigBackup
2
+ module Database
3
+ class Mysql < Base
4
+
5
+ protected
6
+
7
+ def database_system
8
+ "mysql"
9
+ end
10
+
11
+ def cmd_options
12
+ cmd_options = {}
13
+ cmd_options["host"] = '-h'
14
+ cmd_options["password"] = '-p'
15
+ cmd_options["username"] = '-u'
16
+ return cmd_options
17
+ end
18
+
19
+ def cmd_line(backup_name, database_config, timestamp)
20
+ "mysqldump #{database_config['database']} #{build_cmd_options(database_config)}> /tmp/bigbackup/#{backup_name}_#{timestamp}"
21
+ end
22
+
23
+ def backup_dir
24
+ "mysql"
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,23 @@
1
+ require "net/ftp"
2
+
3
+ module BigBackup
4
+ module Uploader
5
+ class Base
6
+ def initialize(config)
7
+ @config = config
8
+ end
9
+
10
+ def self.build(type, config)
11
+ "BigBackup::Uploader::#{type.to_s.classify}".constantize.new(config)
12
+ end
13
+
14
+ def uploader_config
15
+ if File.exists?(BigBackup.config_path)
16
+ @backup_config ||= YAML.load_file(BigBackup.config_path)['backup_server']
17
+ else
18
+ @backup_config ||= YAML.load_file("#{File.dirname(__FILE__)}/../../../config/bigbackup.yml")['backup_server']
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,29 @@
1
+ module BigBackup
2
+ module Uploader
3
+ class Ftp < Base
4
+
5
+ def initialize(config)
6
+ super(config)
7
+ @ftp_config = self.uploader_config['ftp']
8
+ end
9
+
10
+ def upload(backup_dir, timestamp)
11
+ Net::FTP.open(@ftp_config["ip"]) do |connection|
12
+ connection.login(@ftp_config["user"].to_s, @ftp_config["passwd"])
13
+
14
+ if @config.kind_of?(Array)
15
+ @config.each do |dir|
16
+ connection.put("/tmp/bigbackup/#{File.basename(dir)}.tar.gz", "#{backup_dir}/#{File.basename(dir)}.tar.gz")
17
+ end
18
+ elsif @config.kind_of?(Hash)
19
+ @config.each_key do |database_name|
20
+ connection.put("/tmp/bigbackup/#{database_name}_#{timestamp}.tar.gz", "#{backup_dir}/#{database_name}_#{timestamp}.tar.gz")
21
+ end
22
+ end
23
+
24
+ end
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,3 @@
1
+ module BigBackupInfo
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Archive do
4
+
5
+ before(:all) do
6
+ @backup_config = YAML.load_file("#{File.dirname(__FILE__)}/../../config/bigbackup.yml")
7
+ end
8
+
9
+ it "should return cmd line for directories" do
10
+ cmd_line = "tar -czf /tmp/test_backup1.tar.gz /tmp/test_backup1 && tar -czf /tmp/test_backup2.tar.gz /tmp/test_backup2"
11
+
12
+ BigBackup::Archive.new(@backup_config['directories']).build_cmd.should eql(cmd_line)
13
+ end
14
+
15
+ it "should return cmd line for databases" do
16
+ cmd_line = "tar -czf /tmp/mongodb_database_name_1.tar.gz /tmp/mongodb_database_name_1 && tar -czf /tmp/mongodb_database_name_2.tar.gz /tmp/mongodb_database_name_2"
17
+
18
+ BigBackup::Archive.new(@backup_config['databases']['mongodb']).build_cmd.should eql(cmd_line)
19
+ end
20
+
21
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Base do
4
+
5
+ describe "config" do
6
+
7
+ it "should load backup config" do
8
+ big_backup = BigBackup::Base.new
9
+
10
+ big_backup.backup_config["tmpdir"].should_not be_empty
11
+ big_backup.backup_config["tmpdir"].should eql("/tmp")
12
+ end
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Database::Base do
4
+
5
+ before(:each) do
6
+ @backup_config = YAML.load_file( "#{File.dirname(__FILE__)}/../../../config/bigbackup.yml" )
7
+ end
8
+
9
+ it "should return backup system" do
10
+ BigBackup::Database::Base.build(:mysql, @backup_config).class.should eql(BigBackup::Database::Mysql)
11
+ BigBackup::Database::Base.build(:mongodb, @backup_config).class.should eql(BigBackup::Database::Mongodb)
12
+ end
13
+
14
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Database::Mongodb do
4
+
5
+ before(:each) do
6
+ @backup_config = YAML.load_file( "#{File.dirname(__FILE__)}/../../../config/bigbackup.yml" )['databases']['mongodb']
7
+ @cmd_line = "mongodump -d mongodb_database_1 -h localhost -u testuser -p'password' -o /tmp/mongodb_database_name_1_backup && mongodump -d mongodb_database_2 -h localhost -o /tmp/mongodb_database_name_2_backup"
8
+ end
9
+
10
+ it "should return cmd str" do
11
+ BigBackup::Database::Mongodb.new(@backup_config).build_cmd("backup").should eql(@cmd_line)
12
+ end
13
+
14
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Database::Mysql do
4
+
5
+ before(:each) do
6
+ @backup_config = YAML.load_file( "#{File.dirname(__FILE__)}/../../../config/bigbackup.yml" )['databases']['mysql']
7
+ @cmd_line = "mysqldump mysql_database_1 -h localhost -u username -p'password' > /tmp/mysql_database_name_1_123.sql && mysqldump mysql_database_2 -h localhost -u username -p'password' > /tmp/mysql_database_name_2_123.sql"
8
+ end
9
+
10
+ it "should return cmd str" do
11
+ BigBackup::Database::Mysql.new(@backup_config).build_cmd(123).should eql(@cmd_line)
12
+ end
13
+
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigBackup::Uploader::Ftp do
4
+
5
+ before(:all) do
6
+ @backup_config = YAML.load_file("#{File.dirname(__FILE__)}/../../config/bigbackup.yml")
7
+ end
8
+
9
+ end
@@ -0,0 +1,11 @@
1
+ $:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
2
+
3
+ require 'rspec'
4
+ require 'big_backup'
5
+
6
+ RSpec.configure do |config|
7
+
8
+ end
9
+
10
+
11
+
metadata ADDED
@@ -0,0 +1,117 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bigbackup
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Alexander Klaiber
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-05-20 00:00:00.000000000 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ requirement: &85993850 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *85993850
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: &85993640 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *85993640
37
+ - !ruby/object:Gem::Dependency
38
+ name: mail
39
+ requirement: &85993430 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *85993430
48
+ - !ruby/object:Gem::Dependency
49
+ name: rainbow
50
+ requirement: &85993220 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *85993220
59
+ description: BigBackup is a multi backup tool.
60
+ email:
61
+ - alex.klaiber@gmail.com
62
+ executables:
63
+ - bigbackup.rb
64
+ extensions: []
65
+ extra_rdoc_files: []
66
+ files:
67
+ - .gitignore
68
+ - .rvmrc
69
+ - Gemfile
70
+ - Gemfile.lock
71
+ - README.rdoc
72
+ - Rakefile
73
+ - bigbackup.gemspec
74
+ - bin/bigbackup.rb
75
+ - config/bigbackup.yml
76
+ - lib/big_backup.rb
77
+ - lib/big_backup/archive.rb
78
+ - lib/big_backup/base.rb
79
+ - lib/big_backup/databases/base.rb
80
+ - lib/big_backup/databases/mongodb.rb
81
+ - lib/big_backup/databases/mysql.rb
82
+ - lib/big_backup/uploader/base.rb
83
+ - lib/big_backup/uploader/ftp.rb
84
+ - lib/big_backup/version.rb
85
+ - spec/lib/archive_spec.rb
86
+ - spec/lib/base_spec.rb
87
+ - spec/lib/databases/base_spec.rb
88
+ - spec/lib/databases/mongodb_spec.rb
89
+ - spec/lib/databases/mysql_spec.rb
90
+ - spec/lib/uploader/ftp_spec.rb
91
+ - spec/spec_helper.rb
92
+ has_rdoc: true
93
+ homepage: ''
94
+ licenses: []
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubyforge_project: big_backup
113
+ rubygems_version: 1.6.2
114
+ signing_key:
115
+ specification_version: 3
116
+ summary: BigBackup is a multi backup tool.
117
+ test_files: []