encbs 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|