encbs 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/encbs +30 -15
- data/encbs.gemspec +3 -2
- data/lib/encbsconfig.rb +48 -0
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/bin/encbs
CHANGED
@@ -16,11 +16,12 @@ safe_require do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
require 'backup'
|
19
|
+
require 'encbsconfig'
|
19
20
|
|
20
21
|
opts = Slop.parse :help => true do
|
21
22
|
on :a, :add, "Add path to backup", true
|
22
23
|
on :b, :bucket, "Set Amazon S3 bucket to backup", true
|
23
|
-
on :c, :config, "Use config file to upload backup", true
|
24
|
+
on :c, :config, "Use config file to upload backup", true
|
24
25
|
on :colorize, "Colorize print to console"
|
25
26
|
on :d, :date, "Date for backup restore (default: last)", true
|
26
27
|
on :g, :generate, "Generate RSA keys (option: 4096, 2048)", true
|
@@ -34,20 +35,26 @@ opts = Slop.parse :help => true do
|
|
34
35
|
on :s, :secret, "Set API secret to access Amazon S3", true
|
35
36
|
on :t, :to, "Path to recovery (default: /)", true
|
36
37
|
on :token, "RSA Key to encrypt/decrypt backup data", true
|
37
|
-
on :threads, "Set count of thread (default: 1)", true
|
38
38
|
on :v, :verbose, "Verbose mode"
|
39
39
|
|
40
40
|
banner "Usage:\n $ encbs [options]\n\nOptions:"
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
puts opts.help
|
43
|
+
@config = EncbsConfig.new
|
45
44
|
|
46
|
-
|
45
|
+
if ARGV.empty?
|
46
|
+
if File.exists?("#{Dir.getwd}/Encbsfile")
|
47
|
+
@config.load "#{Dir.getwd}/Encbsfile"
|
48
|
+
else
|
49
|
+
puts opts.help
|
50
|
+
exit
|
51
|
+
end
|
47
52
|
end
|
48
53
|
|
49
|
-
|
50
|
-
|
54
|
+
@config.load opts[:config] if opts.config?
|
55
|
+
|
56
|
+
$PRINT_VERBOSE = @config.verbose || opts.verbose?
|
57
|
+
$COLORIZE = @config.colorize || opts.colorize?
|
51
58
|
|
52
59
|
if opts.generate?
|
53
60
|
bits = opts[:generate].to_i
|
@@ -68,18 +75,20 @@ if opts.local?
|
|
68
75
|
@backup = Backup::Instance.new opts[:local]
|
69
76
|
else
|
70
77
|
[:key, :secret, :bucket].each do |arg|
|
71
|
-
|
78
|
+
if opts[arg].nil? and @config.send(arg).nil?
|
79
|
+
puts_fail "Argument '--#{arg}' should not be empty"
|
80
|
+
end
|
72
81
|
end
|
73
82
|
@backup = Backup::Instance.new(
|
74
83
|
"backups",
|
75
84
|
true,
|
76
|
-
:bucket => opts[:bucket],
|
77
|
-
:key => opts[:key],
|
78
|
-
:secret => opts[:secret]
|
85
|
+
:bucket => @config.bucket || opts[:bucket],
|
86
|
+
:key => @config.key || opts[:key],
|
87
|
+
:secret => @config.secret || opts[:secret]
|
79
88
|
)
|
80
89
|
end
|
81
90
|
|
82
|
-
@backup.hostname = opts[:hostname] if opts.hostname?
|
91
|
+
@backup.hostname = @config.hostname || (opts[:hostname] if opts.hostname?)
|
83
92
|
|
84
93
|
if opts.list?
|
85
94
|
jars_list = @backup.jars
|
@@ -96,7 +105,13 @@ if opts.list?
|
|
96
105
|
exit
|
97
106
|
end
|
98
107
|
|
99
|
-
@
|
108
|
+
if @config.token || opts.token?
|
109
|
+
key = @config.token || opts[:token]
|
110
|
+
|
111
|
+
puts_fail "Key #{key.dark_green} not found" unless File.exists? key
|
112
|
+
|
113
|
+
@backup.key = key
|
114
|
+
end
|
100
115
|
|
101
116
|
if opts.date?
|
102
117
|
date = opts[:date].split("-")
|
@@ -192,8 +207,8 @@ if opts.rescue?
|
|
192
207
|
exit
|
193
208
|
end
|
194
209
|
|
195
|
-
if opts.add?
|
196
|
-
paths = opts[:add].split(" ")
|
210
|
+
if @config.paths || opts.add?
|
211
|
+
paths = @config.paths.split(" ") || opts[:add].split(" ")
|
197
212
|
|
198
213
|
paths = paths.map do |path|
|
199
214
|
path = File.expand_path path
|
data/encbs.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{encbs}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Timothy Klim"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-13}
|
13
13
|
s.default_executable = %q{encbs}
|
14
14
|
s.description = %q{Simple backup system for pushing into cloud}
|
15
15
|
s.email = %q{klimtimothy@gmail.com}
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/backup/jar.rb",
|
35
35
|
"lib/backup/timestamp.rb",
|
36
36
|
"lib/crypto.rb",
|
37
|
+
"lib/encbsconfig.rb",
|
37
38
|
"lib/helpers.rb",
|
38
39
|
"test/fixtures/etc/.hide",
|
39
40
|
"test/fixtures/etc/root/file",
|
data/lib/encbsconfig.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
class EncbsConfig
|
2
|
+
attr_reader :paths, :bucket, :colorize, :hostname, :increment, :key,
|
3
|
+
:secret, :token, :verbose
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@paths = ""
|
7
|
+
end
|
8
|
+
|
9
|
+
def load(path)
|
10
|
+
eval "#{open(path).read}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def use_hostname(attr)
|
14
|
+
@hostname = attr
|
15
|
+
end
|
16
|
+
|
17
|
+
def add(attr)
|
18
|
+
@paths += " #{attr}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def colorize!
|
22
|
+
@colorize = true
|
23
|
+
end
|
24
|
+
|
25
|
+
def public_key(attr)
|
26
|
+
@token = attr
|
27
|
+
end
|
28
|
+
|
29
|
+
def increment!
|
30
|
+
@increment = true
|
31
|
+
end
|
32
|
+
|
33
|
+
def aws_key(attr)
|
34
|
+
@key = attr
|
35
|
+
end
|
36
|
+
|
37
|
+
def aws_secret(attr)
|
38
|
+
@secret = attr
|
39
|
+
end
|
40
|
+
|
41
|
+
def aws_bucket(attr)
|
42
|
+
@bucket = attr
|
43
|
+
end
|
44
|
+
|
45
|
+
def verbose!
|
46
|
+
@verbose = true
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: encbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Timothy Klim
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-13 00:00:00 +04:00
|
14
14
|
default_executable: encbs
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- lib/backup/jar.rb
|
105
105
|
- lib/backup/timestamp.rb
|
106
106
|
- lib/crypto.rb
|
107
|
+
- lib/encbsconfig.rb
|
107
108
|
- lib/helpers.rb
|
108
109
|
- test/fixtures/etc/.hide
|
109
110
|
- test/fixtures/etc/root/file
|
@@ -127,7 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
128
|
requirements:
|
128
129
|
- - ">="
|
129
130
|
- !ruby/object:Gem::Version
|
130
|
-
hash: -
|
131
|
+
hash: -215227041177013415
|
131
132
|
segments:
|
132
133
|
- 0
|
133
134
|
version: "0"
|