backup 3.0.26 → 3.0.27
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/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
|
+
lQHYBFAUeC4BBAC+k8YWGDRIq2sJ6f35nNE8CmFUok5OtKhicrKRI9ECidzJrpwv
|
150
|
+
6GF/uZPBzevASj+8ZCch2BXVwiZ9h6km49E+6FeLHEBiyUjuWnTWv+rjA2SAOj7b
|
151
|
+
eFBTsHXPG51fbA0E3a6dhqrMYt39+Fl9A1e/yqzA/40CfYYlqYV0pr2lfQARAQAB
|
152
|
+
AAP9HVrYQHd+eDIVRPvqr7vwu7mSl+1/N97ab/2gVTxp2aUAIf24F6YI/JpKcOgF
|
153
|
+
2ALn0d4wa+VjqZ8j/CJ9Et01EeIkEl9rDBVHLFKLpEABSRCCPpYPBhNqKgRQnLBl
|
154
|
+
M9kb6OxlBF0Y2L7oonq19Txer8FNB724m7yvBlWQko5id6ECAND9Cgn/YVuj83Es
|
155
|
+
DEBMjyAysgs3L69CoKQRL02PULbfVgabKqKqFJKDZr4DVyVo6v0L/c9pvnrz5GZG
|
156
|
+
McGH390CAOlyfn9fWtNjMci+DZ2ZXjut8FXnU+ChyGoc62brcQ0YE1767pyIpmxe
|
157
|
+
sG06jTMPpmBSA1xbMpScfLQehnLJUiEB/3f3U/8UiUTmB8bWe2JpHefJAn3Y8VLr
|
158
|
+
tLXujEmYqrn6kUNo1UgIodLtlKY/HfYm6gvcBl5W4+z7FnDBWwDIlX6e/7QeQmFj
|
159
|
+
a3VwIFRlc3QgPGJhY2t1cDAzQGZvby5jb20+iLgEEwECACIFAlAUeC4CGwMGCwkI
|
160
|
+
BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEFhH1J3XkeT6yGQD/jJ6/fPIr7+M9lCA
|
161
|
+
UurXRuJENgx1aTjKwcKRJsGLgYyeMhqcEWTqCBsf+NAhvv2hlG/YwH83wCDizWhl
|
162
|
+
0LlbWBIKDibilQHTo2QoPg28oAcfOx+v3d9qsBy3XMFAnX17YSsV6jYFvka4C9/Z
|
163
|
+
VbOIxAP1oHSUXq1/8JOh5an7bErvnQHYBFAUeC4BBADGwKc66SFldjN9dIxkNYWL
|
164
|
+
wCSvEgsOUdQpYckWLeUFnvKMpOW9+0Q5fc7QZuTs4TnT6cHjKk7F4ZQpMlqyvc5H
|
165
|
+
99vfp+/fus4LyAYIZKXmuc44SWwxU0y2MsGguFZbWKctQLquKD3uk3S8LPvYwYn5
|
166
|
+
weLVOhoUgbYGi6HeK8hkuQARAQABAAP9G+yT4lFAXbC8fb8a/XZOl8qsbMN4da/W
|
167
|
+
AuVn+vuCPqatFckSNT3BAWHVZY7bUZO4S/d/A/NdA2zU4+/c8dl8inzv5tAmVFQY
|
168
|
+
w9XYZoA8d4GS+IflmVAzu8aWJlQLfMI8HKtwrf4gpSjZFsLIe9E/xQSgGWt1WXJ5
|
169
|
+
fbgbBKBLRB0CANF5C0VHOg/zIc7AODCi9GYqYWxQE0MiMhh1SzuG/NVHke+ldhqb
|
170
|
+
ogV+TMBAR8PCRNf64cKtXyJ2u5ZnXlSBWdUCAPLmCZBCFW3hm/26fdAovNHA53HZ
|
171
|
+
ucxhwrLP0Ks1+vr779JMypl6QVYbbHXaI7oyRFKg5KOdz4S2ij213gVOzVUCAKy1
|
172
|
+
MftwhFXCrQwfuA8d2rnro4WqreNyzRj/7QL11N8oQ1XasHCuuOVpDVyuBxtwGLG3
|
173
|
+
KUeriIODL6Bo/RevX0an8YifBBgBAgAJBQJQFHguAhsMAAoJEFhH1J3XkeT6kCED
|
174
|
+
/AzK8xUqcjhLMVkQvMeHYQbaabYztjCEvRbF/aZsnAudlfZgkF+aW+WTemDxzgK2
|
175
|
+
DVEH61xkazkBQD7jWrnHrf8N/SiDpjGRj0RszpE5qeABITu3yrbsPP6FjjuoZV/6
|
176
|
+
xuCTWVLtw0BLfFiglfXRxsTVpMRKbUQPwkWFuGo9DJGh
|
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
|