Class: Techinform::BackupCommand

Inherits:
Thor
  • Object
show all
Defined in:
lib/techinform/backup.rb

Instance Method Summary collapse

Instance Method Details

#etcObject



38
39
40
41
# File 'lib/techinform/backup.rb', line 38

def etc
  require_relative '../../lib/backup/etc_backup'
  EtcBackup.new.run
end

#mysql(dbnames) ⇒ Object



10
11
12
13
14
# File 'lib/techinform/backup.rb', line 10

def mysql(dbnames)
  (dbnames == 'all' ? mysql_list : dbnames.split(',')).each do |db|
    MysqlBackup.new(database: db).run
  end
end

#mysql_listObject



17
18
19
20
21
# File 'lib/techinform/backup.rb', line 17

def mysql_list
  dbs = MysqlBackup.new.db_list
  puts "Available mysql databases: #{dbs.join(', ')}"
  dbs
end

#pg(dbnames) ⇒ Object



24
25
26
27
28
# File 'lib/techinform/backup.rb', line 24

def pg(dbnames)
  (dbnames == 'all' ? pg_list : dbnames.split(',')).each do |db|
    PostgreBackup.new(database: db).run
  end
end

#pg_listObject



31
32
33
34
35
# File 'lib/techinform/backup.rb', line 31

def pg_list
  dbs = PostgreBackup.new.db_list
  puts "Available postgres databases: #{dbs.join(', ')}"
  dbs
end

#sync(server, type, ipaddr) ⇒ Object



44
45
46
47
48
# File 'lib/techinform/backup.rb', line 44

def sync(server, type, ipaddr)
  location = Techinform.backups_syncing_location(server, type)
  `mkdir -p #{location}`
  system("rsync -avz #{"--exclude-from=#{"#{File.dirname(__FILE__)}/sync/rails_exclude_files"}" if type == 'rails'} backup@#{ipaddr}::#{type} #{location}")
end