Class: BackupUtility::Mongo

Inherits:
Base
  • Object
show all
Defined in:
lib/backup_utility/mongo.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#backup, #cleanup_backups, #cleanup_dir, #cleanup_shared, #custom?, #get_paths, #initialize, #log, #log_and_time, #send_dir_to_s3, #send_file_to_s3, #shared_dst, #store_backup

Constructor Details

This class inherits a constructor from BackupUtility::Base

Class Method Details

.init(include_env = true) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/backup_utility/mongo.rb', line 3

def self.init(include_env = true)
  save = ENV['save'] != 'false'
  if ::Rails.env == 'staging'
    send_to_s3 = false
    send_to_shared = true
  elsif ::Rails.env == 'production'
    send_to_s3 = true
    send_to_shared = true
  elsif ::Rails.env == 'development'
    send_to_s3 = false
    send_to_shared = false
  end
  use_code = send_to_s3
  db_info = {:backup_dir => ENV['backup_dir'], 
    :save => save, 
    :send_to_s3 => send_to_s3,
    :send_to_shared => send_to_shared,
    :use_code => use_code
  }
  BackupUtility::Mongo.new(db_info)
end

Instance Method Details

#perform_dump(settings, working_dir) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/backup_utility/mongo.rb', line 25

def perform_dump(settings, working_dir)
  type = settings[:server_type] || 'data_store'
  server = MongoServer.select(type)
  return false if server.blank?
  db_names = settings[:db_names] || 'videos_day,tracks_day,ref'
  db_names = db_names.split(',')
  db_names.each do |db_name|
    puts "dumping mongo db #{db_name} to #{working_dir}"
    server.dump(working_dir, db_name)
  end
  true
end