Class: EY::Backup::Runner
- Inherits:
-
Object
- Object
- EY::Backup::Runner
- Defined in:
- lib/ey_backup.rb
Instance Method Summary collapse
- #database_names ⇒ Object
-
#databases ⇒ Object
END COMMANDS.
- #dispatch ⇒ Object
- #download ⇒ Object
-
#initialize(options) ⇒ Runner
constructor
A new instance of Runner.
- #list ⇒ Object
-
#new_backup ⇒ Object
COMMANDS.
- #restore ⇒ Object
- #run ⇒ Object
- #setup ⇒ Object
- #setup_backend ⇒ Object
- #setup_engine ⇒ Object
- #setup_logger ⇒ Object
- #setup_tmp_dir ⇒ Object
Constructor Details
#initialize(options) ⇒ Runner
Returns a new instance of Runner.
55 56 57 |
# File 'lib/ey_backup.rb', line 55 def initialize() = end |
Instance Method Details
#database_names ⇒ Object
95 96 97 98 99 100 101 |
# File 'lib/ey_backup.rb', line 95 def database_names if [:db].nil? || [:db].empty? [:databases] else [[:db]] end end |
#databases ⇒ Object
END COMMANDS
89 90 91 92 93 |
# File 'lib/ey_backup.rb', line 89 def databases @databases ||= database_names.map do |name| Database.new(@engine, EY::Backup.tmp_dir, [:keep], @backend, [:environment], name) end end |
#dispatch ⇒ Object
142 143 144 |
# File 'lib/ey_backup.rb', line 142 def dispatch send([:command]) end |
#download ⇒ Object
81 82 83 84 85 |
# File 'lib/ey_backup.rb', line 81 def download databases.each do |database| Loader.download(database, [:index]) end end |
#list ⇒ Object
70 71 72 |
# File 'lib/ey_backup.rb', line 70 def list BackupSet.list(databases) end |
#new_backup ⇒ Object
COMMANDS
66 67 68 |
# File 'lib/ey_backup.rb', line 66 def new_backup Dumper.run(databases, [:split_size]) end |
#restore ⇒ Object
74 75 76 77 78 79 |
# File 'lib/ey_backup.rb', line 74 def restore databases.each do |database| @engine.check_if_replica Loader.run(database, [:index]) end end |
#run ⇒ Object
59 60 61 62 |
# File 'lib/ey_backup.rb', line 59 def run setup dispatch end |
#setup ⇒ Object
103 104 105 106 107 108 |
# File 'lib/ey_backup.rb', line 103 def setup setup_logger setup_tmp_dir setup_backend setup_engine end |
#setup_backend ⇒ Object
130 131 132 |
# File 'lib/ey_backup.rb', line 130 def setup_backend @backend = Backend.new([:aws_secret_id], [:aws_secret_key], [:region], [:backup_bucket]) end |
#setup_engine ⇒ Object
134 135 136 137 138 139 140 |
# File 'lib/ey_backup.rb', line 134 def setup_engine engine_class = Engine.lookup([:engine]) if ! .key?(:dbhost) or [:dbhost] == nil or [:dbhost] == "" [:dbhost] = 'localhost' end @engine = engine_class.new([:dbuser], [:dbpass], [:dbhost], [:key_id], [:force]) end |
#setup_logger ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/ey_backup.rb', line 110 def setup_logger if [:quiet] EY::Backup.logger ||= Logger.quiet else EY::Backup.logger ||= Logger.new if [:verbose] EY::Backup.logger.set_verbose end end end |
#setup_tmp_dir ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/ey_backup.rb', line 122 def setup_tmp_dir if [:tmp_dir] EY::Backup.tmp_dir = [:tmp_dir] else EY::Backup.tmp_dir = "/mnt/tmp" end end |