backup 3.0.26 → 3.0.27
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -3
- data/lib/backup/cli/helpers.rb +2 -0
- data/lib/backup/cli/utility.rb +4 -4
- data/lib/backup/compressor/bzip2.rb +8 -4
- data/lib/backup/compressor/gzip.rb +8 -4
- data/lib/backup/configuration/helpers.rb +30 -38
- data/lib/backup/database/mongodb.rb +2 -1
- data/lib/backup/database/mysql.rb +2 -1
- data/lib/backup/database/postgresql.rb +2 -1
- data/lib/backup/database/redis.rb +2 -1
- data/lib/backup/database/riak.rb +2 -1
- data/lib/backup/encryptor/gpg.rb +717 -37
- data/lib/backup/syncer/cloud/base.rb +2 -2
- data/lib/backup/version.rb +1 -1
- data/spec-live/backups/config.rb +14 -84
- data/spec-live/backups/config.yml.template +3 -0
- data/spec-live/backups/models.rb +184 -0
- data/spec-live/encryptor/gpg_keys.rb +239 -0
- data/spec-live/encryptor/gpg_spec.rb +287 -0
- data/spec-live/notifier/mail_spec.rb +58 -22
- data/spec-live/spec_helper.rb +69 -3
- data/spec/cli/helpers_spec.rb +25 -25
- data/spec/cli/utility_spec.rb +6 -3
- data/spec/compressor/bzip2_spec.rb +20 -41
- data/spec/compressor/gzip_spec.rb +20 -41
- data/spec/configuration/helpers_spec.rb +94 -253
- data/spec/database/mongodb_spec.rb +9 -10
- data/spec/database/mysql_spec.rb +9 -10
- data/spec/database/postgresql_spec.rb +9 -10
- data/spec/database/redis_spec.rb +9 -10
- data/spec/database/riak_spec.rb +9 -10
- data/spec/encryptor/gpg_spec.rb +830 -71
- data/spec/storage/dropbox_spec.rb +24 -36
- data/spec/syncer/cloud/base_spec.rb +1 -1
- data/templates/cli/utility/encryptor/gpg +16 -1
- metadata +63 -64
@@ -84,7 +84,7 @@ module Backup
|
|
84
84
|
|
85
85
|
case concurrency_type
|
86
86
|
when FalseClass
|
87
|
-
all_file_names.each
|
87
|
+
all_file_names.each(&block)
|
88
88
|
when :threads
|
89
89
|
Parallel.each all_file_names,
|
90
90
|
:in_threads => concurrency_level, &block
|
@@ -128,7 +128,7 @@ module Backup
|
|
128
128
|
# Returns a String of file paths and their md5 hashes.
|
129
129
|
def local_hashes
|
130
130
|
Logger.message("\s\sGenerating checksums for '#{ @directory }'")
|
131
|
-
`find #{ @directory } -print0 | xargs -0 openssl md5 2> /dev/null`
|
131
|
+
`find '#{ @directory }' -print0 | xargs -0 openssl md5 2> /dev/null`
|
132
132
|
end
|
133
133
|
|
134
134
|
##
|
data/lib/backup/version.rb
CHANGED
data/spec-live/backups/config.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
|
-
|
2
|
-
##
|
3
|
-
# Archive Job
|
4
|
-
archive_job = lambda do |archive|
|
5
|
-
archive.add File.expand_path('../../../lib/backup', __FILE__)
|
6
|
-
archive.exclude File.expand_path('../../../lib/backup/storage', __FILE__)
|
7
|
-
end
|
8
|
-
|
9
1
|
##
|
10
|
-
# Configuration
|
2
|
+
# Configuration Defaults
|
3
|
+
#
|
4
|
+
# Note that once config.rb has been loaded once and class defaults are set,
|
5
|
+
# there's nothing clearing these between each test. Keep this in mind, as this
|
6
|
+
# file will be loaded for every call to h_set_trigger() or h_set_single_model().
|
7
|
+
# While not a problem, this wouldn't happen for a normal `backup perform ...`.
|
11
8
|
|
12
9
|
Backup::Storage::Local.defaults do |storage|
|
13
|
-
storage.path =
|
10
|
+
storage.path = SpecLive::TMP_PATH
|
14
11
|
storage.keep = 2
|
15
12
|
end
|
16
13
|
|
@@ -62,7 +59,7 @@ Backup::Notifier::Mail.defaults do |notifier|
|
|
62
59
|
notifier.enable_starttls_auto = opts['enable_starttls_auto'] || true
|
63
60
|
notifier.sendmail = opts['sendmail']
|
64
61
|
notifier.sendmail_args = opts['sendmail_args']
|
65
|
-
notifier.mail_folder =
|
62
|
+
notifier.mail_folder = SpecLive::TMP_PATH
|
66
63
|
end
|
67
64
|
|
68
65
|
Backup::Syncer::Cloud::S3.defaults do |s3|
|
@@ -75,79 +72,12 @@ Backup::Syncer::Cloud::S3.defaults do |s3|
|
|
75
72
|
s3.mirror = true
|
76
73
|
end
|
77
74
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
Backup::Model.new(:archive_local, 'test_label') do
|
82
|
-
archive :test_archive, &archive_job
|
83
|
-
store_with Local
|
84
|
-
end
|
85
|
-
|
86
|
-
Backup::Model.new(:archive_scp, 'test_label') do
|
87
|
-
archive :test_archive, &archive_job
|
88
|
-
store_with SCP
|
89
|
-
end
|
90
|
-
|
91
|
-
# To initialize the Dropbox session cache, run manually first using:
|
92
|
-
# VERBOSE=1 rspec spec-live/storage/dropbox_spec.rb --tag init
|
93
|
-
Backup::Model.new(:archive_dropbox, 'test_label') do
|
94
|
-
archive :test_archive, &archive_job
|
95
|
-
store_with Dropbox
|
96
|
-
end
|
97
|
-
|
98
|
-
Backup::Model.new(:compressor_gzip_archive_local, 'test_label') do
|
99
|
-
archive :test_archive, &archive_job
|
100
|
-
compress_with Gzip
|
101
|
-
store_with Local
|
75
|
+
Backup::Encryptor::GPG.defaults do |enc|
|
76
|
+
enc.gpg_homedir = File.join(SpecLive::TMP_PATH, 'gpg_home_tmp')
|
102
77
|
end
|
103
78
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
c.extension = '.foo'
|
109
|
-
end
|
110
|
-
store_with Local
|
111
|
-
end
|
112
|
-
|
113
|
-
Backup::Model.new(:notifier_mail, 'test_label') do
|
114
|
-
notify_by Mail
|
115
|
-
end
|
116
|
-
|
117
|
-
Backup::Model.new(:notifier_mail_file, 'test_label') do
|
118
|
-
notify_by Mail do |mail|
|
119
|
-
mail.to = 'test@backup'
|
120
|
-
mail.delivery_method = :file
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
Backup::Model.new(:syncer_cloud_s3, 'test_label') do
|
125
|
-
sync_with Cloud::S3 do |s3|
|
126
|
-
s3.directories do
|
127
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_a')
|
128
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_b')
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
Backup::Model.new(:syncer_cloud_processes_s3, 'test_label') do
|
134
|
-
sync_with Cloud::S3 do |s3|
|
135
|
-
s3.concurrency_type = :processes
|
136
|
-
s3.concurrency_level = 2
|
137
|
-
s3.directories do
|
138
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_a')
|
139
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_b')
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
Backup::Model.new(:syncer_cloud_threads_s3, 'test_label') do
|
145
|
-
sync_with Cloud::S3 do |s3|
|
146
|
-
s3.concurrency_type = :threads
|
147
|
-
s3.concurrency_level = 2
|
148
|
-
s3.directories do
|
149
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_a')
|
150
|
-
add File.join(Backup::SpecLive::SYNC_PATH, 'dir_b')
|
151
|
-
end
|
152
|
-
end
|
79
|
+
##
|
80
|
+
# Load the Models, unless h_set_single_model() is being used.
|
81
|
+
if SpecLive.load_models
|
82
|
+
instance_eval File.read(File.join(File.dirname(__FILE__), 'models.rb'))
|
153
83
|
end
|
@@ -0,0 +1,184 @@
|
|
1
|
+
##
|
2
|
+
# Models
|
3
|
+
|
4
|
+
Backup::Model.new(:archive_local, 'test_label') do
|
5
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
6
|
+
store_with Local
|
7
|
+
end
|
8
|
+
|
9
|
+
Backup::Model.new(:archive_scp, 'test_label') do
|
10
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
11
|
+
store_with SCP
|
12
|
+
end
|
13
|
+
|
14
|
+
# To initialize the Dropbox session cache, run manually first using:
|
15
|
+
# VERBOSE=1 rspec spec-live/storage/dropbox_spec.rb --tag init
|
16
|
+
Backup::Model.new(:archive_dropbox, 'test_label') do
|
17
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
18
|
+
store_with Dropbox
|
19
|
+
end
|
20
|
+
|
21
|
+
Backup::Model.new(:compressor_gzip_archive_local, 'test_label') do
|
22
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
23
|
+
compress_with Gzip
|
24
|
+
store_with Local
|
25
|
+
end
|
26
|
+
|
27
|
+
Backup::Model.new(:compressor_custom_archive_local, 'test_label') do
|
28
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
29
|
+
compress_with Custom do |c|
|
30
|
+
c.command = 'gzip -1'
|
31
|
+
c.extension = '.foo'
|
32
|
+
end
|
33
|
+
store_with Local
|
34
|
+
end
|
35
|
+
|
36
|
+
Backup::Model.new(:notifier_mail, 'test_label') do
|
37
|
+
notify_by Mail
|
38
|
+
end
|
39
|
+
|
40
|
+
Backup::Model.new(:notifier_mail_file, 'test_label') do
|
41
|
+
notify_by Mail do |mail|
|
42
|
+
mail.to = 'test@backup'
|
43
|
+
mail.delivery_method = :file
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
Backup::Model.new(:syncer_cloud_s3, 'test_label') do
|
48
|
+
sync_with Cloud::S3 do |s3|
|
49
|
+
s3.directories do
|
50
|
+
add File.join(SpecLive::SYNC_PATH, 'dir_a')
|
51
|
+
add File.join(SpecLive::SYNC_PATH, 'dir_b')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
Backup::Model.new(:encryptor_gpg_asymmetric, 'test_label') do
|
57
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
58
|
+
encrypt_with GPG do |e|
|
59
|
+
# this is the default mode
|
60
|
+
# e.mode = :asymmetric
|
61
|
+
|
62
|
+
e.keys = {
|
63
|
+
# backup03 public key (email as identifier)
|
64
|
+
'backup03@foo.com' => SpecLive::GPGKeys[:backup03][:public],
|
65
|
+
# backup04 public key (long key id as identifier)
|
66
|
+
'0F45932D3F24426D' => SpecLive::GPGKeys[:backup04][:public]
|
67
|
+
}
|
68
|
+
|
69
|
+
# The public keys for backup01 and backup02 will be in the system keyring
|
70
|
+
# when this job is run. The public keys for backup03 and backup04 will be
|
71
|
+
# imported from :keys above when they are not found in the system keyring.
|
72
|
+
e.recipients = [
|
73
|
+
# backup01 (short keyid)
|
74
|
+
'16325C61',
|
75
|
+
# backup02 (key fingerprint)
|
76
|
+
'F9A9 9BD8 A570 182F F190 037C 7118 9938 6A6A 175A',
|
77
|
+
# backup03 (email)
|
78
|
+
'backup03@foo.com',
|
79
|
+
# backup04 (long keyid)
|
80
|
+
'0F45932D3F24426D'
|
81
|
+
]
|
82
|
+
end
|
83
|
+
store_with Local
|
84
|
+
end
|
85
|
+
|
86
|
+
Backup::Model.new(:encryptor_gpg_asymmetric_missing, 'test_label') do
|
87
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
88
|
+
encrypt_with GPG do |e|
|
89
|
+
e.mode = :asymmetric
|
90
|
+
|
91
|
+
e.keys = {
|
92
|
+
'backup02@foo.com' => SpecLive::GPGKeys[:backup02][:public]
|
93
|
+
}
|
94
|
+
|
95
|
+
e.recipients = [
|
96
|
+
'backup01@foo.com', # in the system
|
97
|
+
'backup02@foo.com', # imported from #keys
|
98
|
+
'backupfoo@foo.com' # a recipient with no public key
|
99
|
+
]
|
100
|
+
end
|
101
|
+
store_with Local
|
102
|
+
end
|
103
|
+
|
104
|
+
Backup::Model.new(:encryptor_gpg_asymmetric_fail, 'test_label') do
|
105
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
106
|
+
encrypt_with GPG do |e|
|
107
|
+
# this is the default mode
|
108
|
+
# e.mode = :asymmetric
|
109
|
+
|
110
|
+
# no recipients have public keys available
|
111
|
+
e.recipients = [
|
112
|
+
'backupfoo@foo.com',
|
113
|
+
'backupfoo2@foo.com'
|
114
|
+
]
|
115
|
+
end
|
116
|
+
store_with Local
|
117
|
+
end
|
118
|
+
|
119
|
+
Backup::Model.new(:encryptor_gpg_symmetric, 'test_label') do
|
120
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
121
|
+
encrypt_with GPG do |e|
|
122
|
+
e.mode = :symmetric
|
123
|
+
e.passphrase = 'a secret'
|
124
|
+
end
|
125
|
+
store_with Local
|
126
|
+
end
|
127
|
+
|
128
|
+
Backup::Model.new(:encryptor_gpg_symmetric_with_config, 'test_label') do
|
129
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
130
|
+
encrypt_with GPG do |e|
|
131
|
+
e.mode = :symmetric
|
132
|
+
e.passphrase = 'a secret'
|
133
|
+
e.gpg_config = <<-EOS
|
134
|
+
personal-cipher-preferences AES256 CAST5
|
135
|
+
EOS
|
136
|
+
end
|
137
|
+
store_with Local
|
138
|
+
end
|
139
|
+
|
140
|
+
Backup::Model.new(:encryptor_gpg_both, 'test_label') do
|
141
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
142
|
+
encrypt_with GPG do |e|
|
143
|
+
e.mode = :both
|
144
|
+
e.passphrase = 'a secret'
|
145
|
+
|
146
|
+
e.keys = {
|
147
|
+
# backup03 public key (email as identifier)
|
148
|
+
'backup03@foo.com' => SpecLive::GPGKeys[:backup03][:public]
|
149
|
+
}
|
150
|
+
|
151
|
+
# The public key for backup01 will be in the system keyring.
|
152
|
+
# The public key for backup03 will be imported from :keys.
|
153
|
+
e.recipients = [
|
154
|
+
# backup01 (short keyid)
|
155
|
+
'16325C61',
|
156
|
+
# backup03 (email)
|
157
|
+
'backup03@foo.com'
|
158
|
+
]
|
159
|
+
end
|
160
|
+
store_with Local
|
161
|
+
end
|
162
|
+
|
163
|
+
Backup::Model.new(:encryptor_gpg_both_no_asymmetric, 'test_label') do
|
164
|
+
archive :test_archive, &SpecLive::ARCHIVE_JOB
|
165
|
+
encrypt_with GPG do |e|
|
166
|
+
e.mode = :both
|
167
|
+
e.passphrase = 'a secret'
|
168
|
+
|
169
|
+
# valid entry for backup04, but this is not one of the recipients
|
170
|
+
e.keys = {
|
171
|
+
'backup04@foo.com' => SpecLive::GPGKeys[:backup04][:public]
|
172
|
+
}
|
173
|
+
|
174
|
+
# no keys will be found for these,
|
175
|
+
# so only symmetric encryption will be possible for this backup
|
176
|
+
e.recipients = [
|
177
|
+
# backup01 (short keyid)
|
178
|
+
'16325C61',
|
179
|
+
# backup03 (email)
|
180
|
+
'backup03@foo.com'
|
181
|
+
]
|
182
|
+
end
|
183
|
+
store_with Local
|
184
|
+
end
|
@@ -0,0 +1,239 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Backup
|
4
|
+
module SpecLive
|
5
|
+
GPGKeys = Hash.new {|h,k| h[k] = {} }
|
6
|
+
|
7
|
+
GPGKeys[:backup01][:long_id] = '8F5D150616325C61'
|
8
|
+
GPGKeys[:backup01][:public] = <<-EOS
|
9
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
10
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
11
|
+
|
12
|
+
mI0EUBR6CwEEAMVSlFtAXO4jXYnVFAWy6chyaMw+gXOFKlWojNXOOKmE3SujdLKh
|
13
|
+
kWqnafx7VNrb8cjqxz6VZbumN9UgerFpusM3uLCYHnwyv/rGMf4cdiuX7gGltwGb
|
14
|
+
dwP18gzdDanXYvO4G7qtk8DH1lRI/TnLH8wAoY/DthSR//wcP33GxRnrABEBAAG0
|
15
|
+
HkJhY2t1cCBUZXN0IDxiYWNrdXAwMUBmb28uY29tPoi4BBMBAgAiBQJQFHoLAhsD
|
16
|
+
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCPXRUGFjJcYZc5A/91HQ4+BXUw
|
17
|
+
KUHmpGyD+6b42xl3eBdmBVimCYTgfRUyRQEDWzHV4a3cYWwe30J/LzfFn1E6uVwz
|
18
|
+
6SHtzwZddWwONRgC/Q7V0TrnLeuv46MKoB24EFqfbr0kosuZgHPuK4h+rLmaPVCM
|
19
|
+
kv9DcKCupGnFzoaZ7tdgQAXzGepZQZU0sbiNBFAUegsBBACXX6cGjaENoOMyibXh
|
20
|
+
HLlEOKWwlxDgo3bSu6U8kISUmwxH/MO4I/u7BAQBczitNYSWovlbvCcxCy4h12qj
|
21
|
+
gruN5INIDGsEfDSWcN3lxBZ+9J+FhngBjETeADFaPxoele9wVGdIYdLIP6RntK/D
|
22
|
+
6F2ER8sb57YYtK50iyyuYQqSeQARAQABiJ8EGAECAAkFAlAUegsCGwwACgkQj10V
|
23
|
+
BhYyXGEq7AP/Y/k1A6nrCC6bfkHFMJmEJDe0Wb6q8P3gcBqNuf8iOwk53UdoXU0Q
|
24
|
+
JcPAQd/sJy6914huN2dzbVCSchSkLRXgejI0Xf5go1sDzspVKEflu0CWZ3A976QH
|
25
|
+
mLekS3xntUhhgHKc4lhf4IVBqG4cFmwSZ0tZEJJUSESb3TqkkdnNLjE=
|
26
|
+
=KEW+
|
27
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
28
|
+
EOS
|
29
|
+
GPGKeys[:backup01][:private] = <<-EOS
|
30
|
+
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
31
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
32
|
+
|
33
|
+
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
|
61
|
+
=ls9W
|
62
|
+
-----END PGP PRIVATE KEY BLOCK-----
|
63
|
+
EOS
|
64
|
+
|
65
|
+
GPGKeys[:backup02][:long_id] = '711899386A6A175A'
|
66
|
+
GPGKeys[:backup02][:public] = <<-EOS
|
67
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
68
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
69
|
+
|
70
|
+
mI0EUBR6JQEEAMPuY4qoKR7MpZA7D+KRrhiJRCT8t5F4IZ+gq7FBCfwoopcStlin
|
71
|
+
nTGRL1F/UEngu5xHgLsERzPdKNoTpoy1aCcgB7i9vyi2bA3iNGs1YzWqf1vGJxEp
|
72
|
+
+CXXtlBU+QYod6wRMK4cHKVjPaD+Ga+saU1Pz9tBGYAbADYVmhJd7R21ABEBAAG0
|
73
|
+
HkJhY2t1cCBUZXN0IDxiYWNrdXAwMkBmb28uY29tPoi4BBMBAgAiBQJQFHolAhsD
|
74
|
+
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBxGJk4amoXWjJxA/sG60qZMn40
|
75
|
+
IP0pjuY+3kc5199xcavxgHZdQTBq2vrJHzr3K8Zk8xxSCADRJf4++t4+8yG7g9rk
|
76
|
+
bmEAeGoFBIbdx7zGcxYIe5g9UG/+eDCJ44HCb0v8vHUT7iqt5Jk6cryYtcYvqO6I
|
77
|
+
84HXdXz4rCMCUeRP4ceMCZB6GZKDXR8zoriNBFAUeiUBBADEEOUdfCmwJ5BEPWzm
|
78
|
+
QTGcp2dSY8SgpbZtk23LvWIlEziYflIqOGeL623AOBb9S2FChR+zPyOA9D3LEZrA
|
79
|
+
PF8TS3YY+qjBdiXLKchRr5y2Kwylh/vVdcCcgTjfPkga4pGq+cHBOevPiqAvoCtO
|
80
|
+
ntN7+Cqk3B7nWTPQRFDQJVThwwARAQABiJ8EGAECAAkFAlAUeiUCGwwACgkQcRiZ
|
81
|
+
OGpqF1oNNgP/adkSZZVaYy/JEHjjrtC9UwirSluAdHQZGPGv/FHaFou+4mlLi0+R
|
82
|
+
gQLieU+3AHFSWVYMNjIsSjA4hhMLchteFlJnbkGAFUaA2QUoyf7cSSmdpNKQdDdZ
|
83
|
+
oe3OXEQM2pUTEwE9AqKXthrSMQuJ5bozm8zHm/CohZPHGTeQH75Kq/4=
|
84
|
+
=AgbQ
|
85
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
86
|
+
EOS
|
87
|
+
GPGKeys[:backup02][:private] = <<-EOS
|
88
|
+
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
89
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
90
|
+
|
91
|
+
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
|
119
|
+
=+a/7
|
120
|
+
-----END PGP PRIVATE KEY BLOCK-----
|
121
|
+
EOS
|
122
|
+
|
123
|
+
GPGKeys[:backup03][:long_id] = '5847D49DD791E4FA'
|
124
|
+
GPGKeys[:backup03][:public] = <<-EOS
|
125
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
126
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
127
|
+
|
128
|
+
mI0EUBR4LgEEAL6TxhYYNEirawnp/fmc0TwKYVSiTk60qGJyspEj0QKJ3MmunC/o
|
129
|
+
YX+5k8HN68BKP7xkJyHYFdXCJn2HqSbj0T7oV4scQGLJSO5adNa/6uMDZIA6Ptt4
|
130
|
+
UFOwdc8bnV9sDQTdrp2Gqsxi3f34WX0DV7/KrMD/jQJ9hiWphXSmvaV9ABEBAAG0
|
131
|
+
HkJhY2t1cCBUZXN0IDxiYWNrdXAwM0Bmb28uY29tPoi4BBMBAgAiBQJQFHguAhsD
|
132
|
+
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBYR9Sd15Hk+shkA/4yev3zyK+/
|
133
|
+
jPZQgFLq10biRDYMdWk4ysHCkSbBi4GMnjIanBFk6ggbH/jQIb79oZRv2MB/N8Ag
|
134
|
+
4s1oZdC5W1gSCg4m4pUB06NkKD4NvKAHHzsfr93farAct1zBQJ19e2ErFeo2Bb5G
|
135
|
+
uAvf2VWziMQD9aB0lF6tf/CToeWp+2xK77iNBFAUeC4BBADGwKc66SFldjN9dIxk
|
136
|
+
NYWLwCSvEgsOUdQpYckWLeUFnvKMpOW9+0Q5fc7QZuTs4TnT6cHjKk7F4ZQpMlqy
|
137
|
+
vc5H99vfp+/fus4LyAYIZKXmuc44SWwxU0y2MsGguFZbWKctQLquKD3uk3S8LPvY
|
138
|
+
wYn5weLVOhoUgbYGi6HeK8hkuQARAQABiJ8EGAECAAkFAlAUeC4CGwwACgkQWEfU
|
139
|
+
ndeR5PqQIQP8DMrzFSpyOEsxWRC8x4dhBtpptjO2MIS9FsX9pmycC52V9mCQX5pb
|
140
|
+
5ZN6YPHOArYNUQfrXGRrOQFAPuNaucet/w39KIOmMZGPRGzOkTmp4AEhO7fKtuw8
|
141
|
+
/oWOO6hlX/rG4JNZUu3DQEt8WKCV9dHGxNWkxEptRA/CRYW4aj0MkaE=
|
142
|
+
=dxCg
|
143
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
144
|
+
EOS
|
145
|
+
GPGKeys[:backup03][:private] = <<-EOS
|
146
|
+
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
147
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
148
|
+
|
149
|
+
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
|
177
|
+
=6CYb
|
178
|
+
-----END PGP PRIVATE KEY BLOCK-----
|
179
|
+
EOS
|
180
|
+
|
181
|
+
GPGKeys[:backup04][:long_id] = '0F45932D3F24426D'
|
182
|
+
GPGKeys[:backup04][:public] = <<-EOS
|
183
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
184
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
185
|
+
|
186
|
+
mI0EUBR40wEEAMLAMVwpXCeEz1QZPJc8RFwAUBZRc/FYZ+CY4RKfQKZPuBMyzz3y
|
187
|
+
mk3gFB8raw2nycH00zwrP/qm/gIBzpCza+87uqGrB8bezgHoU1CaFnO0ZNUzyB8j
|
188
|
+
FsaQ/7BScjFNQp4RvbryZJUMXJ0V8fV9mQMe+O83CskabLCS4UY6EhWXABEBAAG0
|
189
|
+
HkJhY2t1cCBUZXN0IDxiYWNrdXAwNEBmb28uY29tPoi4BBMBAgAiBQJQFHjTAhsD
|
190
|
+
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAPRZMtPyRCbU30A/0YU8U7EOKd
|
191
|
+
5jSKhkAN50n4Cvwr0uOfC3UoJHInglRc+hDLB5ZF5GMqSfLYIb6/saY99Xb76l7i
|
192
|
+
k/0Q+rpk0AJ/dbY2ARrPqetleTPBsjrQbj9pzU4yvpYohpippjUbGAo74ssRGJoX
|
193
|
+
28O98TXn8+q3bcz7bbLBmYj1Fy4QrSpBj7iNBFAUeNMBBADNBWFF0UFiPOCh9g3P
|
194
|
+
qOAYOXRsmEpLwGBGUB5ZdWzkIGrvs3KjTxIgy+uvx5Q8nX7+OLePaR9BM0qyryzz
|
195
|
+
LLjEKuaeDk1KelZ6/aV4ErgBUfVDs8pniLrSUqD65o18PL+T6nQ4aUYpgcqdb7t/
|
196
|
+
/by/yzt0+eEaAoArm0B8IdzB/QARAQABiJ8EGAECAAkFAlAUeNMCGwwACgkQD0WT
|
197
|
+
LT8kQm2LDgP/cUpWPR/GVdwLlbUIWBh37lLHEEuppZFg2P15Pv0UK9pNxCFhGouS
|
198
|
+
eBXW8xC/mvOrf7mj/tEV3CxGvIFdebtraEwLUQW0109vWHNclK6/SvmSNcaPo1t0
|
199
|
+
FtsIP4HI4ymvvTKUObfQliRdk1u1wY7sCWGarQgN9NtHuuyYP5+wmYg=
|
200
|
+
=LfdH
|
201
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
202
|
+
EOS
|
203
|
+
GPGKeys[:backup04][:private] = <<-EOS
|
204
|
+
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
205
|
+
Version: GnuPG v1.4.12 (GNU/Linux)
|
206
|
+
|
207
|
+
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
|
235
|
+
=I+GJ
|
236
|
+
-----END PGP PRIVATE KEY BLOCK-----
|
237
|
+
EOS
|
238
|
+
end
|
239
|
+
end
|