rbarman 0.0.7 → 0.0.8
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.
- checksums.yaml +4 -4
- data/lib/rbarman/backup.rb +41 -0
- data/lib/rbarman/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51204ed022e1cb170e2b95a345423251ce9cfbfb
|
4
|
+
data.tar.gz: 02c0228594aaea19f4e6526645b74212ca55d895
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f0e62639147bab58e67c0067f8590217dc267337ca40d72362d4e90eeb9372db410937627e4cb57012369fc2a625c2c782fc463237efb772667e2ae1815ef65
|
7
|
+
data.tar.gz: fb0fc2ff0e19e5d5a711ac03add7a53a2f1ff740140c9d8d11ff9e49747de6295e8c5a5fcd3a9899b2f8e5b3b43e2d66f40ceb370cfb5b387fd2fae5ac9629bd
|
data/lib/rbarman/backup.rb
CHANGED
@@ -192,6 +192,47 @@ module RBarman
|
|
192
192
|
@deleted = true
|
193
193
|
end
|
194
194
|
|
195
|
+
# @return [Array, String] a range of available xlog entries
|
196
|
+
def xlog_range
|
197
|
+
start_xlog = @begin_wal.xlog
|
198
|
+
end_xlog = @wal_files.last.xlog
|
199
|
+
xlog_range = Array.new
|
200
|
+
(start_xlog.to_i(16)..end_xlog.to_i(16)).to_a.each do |i|
|
201
|
+
xlog_range << i.to_s(16).upcase
|
202
|
+
end
|
203
|
+
xlog_range
|
204
|
+
end
|
205
|
+
|
206
|
+
# @return [WalFiles] all wal files which should exist in this backup
|
207
|
+
def needed_wal_files
|
208
|
+
needed = Array.new
|
209
|
+
xlog_range.each do |xlog|
|
210
|
+
start = 0
|
211
|
+
if @begin_wal.xlog == xlog.to_s.rjust(8,'0')
|
212
|
+
start = @begin_wal.segment.to_i(16)
|
213
|
+
end
|
214
|
+
(start..254).each do |seg|
|
215
|
+
w = WalFile.new
|
216
|
+
w.timeline = @begin_wal.timeline
|
217
|
+
w.xlog = xlog.rjust(8,'0')
|
218
|
+
w.segment = seg.to_s(16).rjust(8,'0').upcase
|
219
|
+
needed << w
|
220
|
+
break if w == @wal_files.last
|
221
|
+
end
|
222
|
+
end
|
223
|
+
WalFiles.new(needed)
|
224
|
+
end
|
225
|
+
|
226
|
+
# @return [WalFiles] all wal files which don't exist in this backup
|
227
|
+
def missing_wal_files
|
228
|
+
missing = Array.new
|
229
|
+
needed_wal_files.each do |needed|
|
230
|
+
existing = @wal_files.select { |f| f == needed }.first
|
231
|
+
missing << existing unless existing
|
232
|
+
end
|
233
|
+
WalFiles.new(missing)
|
234
|
+
end
|
235
|
+
|
195
236
|
# Instructs the underlying (barman) command to recover this backup
|
196
237
|
# @param [String] path the path to which the backup should be restored
|
197
238
|
# @param [Hash] opts options passed as arguments to barman recover cmd
|
data/lib/rbarman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbarman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Holger Amann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
requirements: []
|
107
107
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
108
|
+
rubygems_version: 2.1.8
|
109
109
|
signing_key:
|
110
110
|
specification_version: 4
|
111
111
|
summary: Wrapper for 2ndQuadrant's PostgreSQL backup tool 'barman'
|