Class: MongoBacker::Cli
- Inherits:
-
Thor
- Object
- Thor
- MongoBacker::Cli
show all
- Includes:
- Actions, Thor::Actions
- Defined in:
- lib/mongo_backer/cli.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Actions
#ask_with_default, #gzip_directory, #list_backups, #run_mongodump, #upload_to_s3
Class Method Details
.source_root ⇒ Object
8
9
10
|
# File 'lib/mongo_backer/cli.rb', line 8
def self.source_root
File.dirname(__FILE__)
end
|
Instance Method Details
#backup ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/mongo_backer/cli.rb', line 27
def backup
config = MongoBacker::Configuration.new options[:config]
backup_dir = run_mongodump(config)
backup_file = gzip_directory(backup_dir)
upload_to_s3(backup_file, config)
FileUtils.rm_rf backup_dir
FileUtils.rm backup_file
end
|
#init ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/mongo_backer/cli.rb', line 13
def init
@host = ask_with_default("mongo host: ", "localhost")
@port = ask_with_default("mongo port: ", "27017")
@mongodump = ask_with_default("mongodump path: ", "/usr/bin/mongodump")
@access_key_id = ask("s3 access key id:")
@secret_access_key = ask("s3 secret access key:")
@bucket = ask("s3 bucket:")
template('templates/config.tt', "mongobacker.yml")
end
|
#list ⇒ Object
43
44
45
46
|
# File 'lib/mongo_backer/cli.rb', line 43
def list
config = MongoBacker::Configuration.new options[:config]
list_backups config
end
|
#version ⇒ Object
49
50
51
|
# File 'lib/mongo_backer/cli.rb', line 49
def version()
puts "mongobacker version #{MongoBacker::Version}"
end
|