pg_s3_dumper 0.1.4 → 0.1.5
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/pg_s3_dumper/backup.rb +16 -0
- data/lib/pg_s3_dumper/dumper.rb +18 -6
- data/lib/pg_s3_dumper/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: 9a837802c2f2d926d2673ad6ff09f3e803bb141a
|
4
|
+
data.tar.gz: f0bccfbce6115d8834755ece91f40af1148a87d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2adb27f14f6861fc1f182ac28da7a1c85bc2a7964bf1bd5943da93ea7ae8bd2ca2889a1a0e5daa7369df01a5127da16ab600fcc6ca8aef701cdcf1d72d5e8963
|
7
|
+
data.tar.gz: d157714a3d23441a2622b825c2c0171a89bc4d69869ff3a3be91e738660a3aa48d02bfbcee30744344f8992e73a0c64f9f87e5a667b7dc3fffb97956055f8d25
|
data/lib/pg_s3_dumper/backup.rb
CHANGED
@@ -26,10 +26,26 @@ class Backup
|
|
26
26
|
ts.strftime('%F') == date.strftime('%F')
|
27
27
|
end
|
28
28
|
|
29
|
+
def on_week?(date)
|
30
|
+
ts.strftime('%Y-%U') == date.strftime('%Y-%U')
|
31
|
+
end
|
32
|
+
|
33
|
+
def on_month?(date)
|
34
|
+
ts.strftime('%Y-%m') == date.strftime('%Y-%m')
|
35
|
+
end
|
36
|
+
|
29
37
|
def keep_on_day(date)
|
30
38
|
@keep = true if on_day?(date)
|
31
39
|
end
|
32
40
|
|
41
|
+
def keep_on_week(date)
|
42
|
+
@keep = true if on_week?(date)
|
43
|
+
end
|
44
|
+
|
45
|
+
def keep_on_month(date)
|
46
|
+
@keep = true if on_month?(date)
|
47
|
+
end
|
48
|
+
|
33
49
|
def prune
|
34
50
|
if keep
|
35
51
|
puts "Keeping backup: #{self}"
|
data/lib/pg_s3_dumper/dumper.rb
CHANGED
@@ -77,12 +77,7 @@ module PgS3Dumper
|
|
77
77
|
# Keep daily backups for one week
|
78
78
|
# Keep weekly backups for one month
|
79
79
|
# Keep monthly backups for one year
|
80
|
-
days
|
81
|
-
7.times.map{|i| i.days.ago} +
|
82
|
-
4.times.map{|i| i.weeks.ago} +
|
83
|
-
12.times.map{|i| i.months.ago}
|
84
|
-
|
85
|
-
days.each do |ts|
|
80
|
+
7.times.map{|i| i.days.ago}.each do |ts|
|
86
81
|
backups.each do |b|
|
87
82
|
b.keep_on_day(ts)
|
88
83
|
# We kept one backup on day ts, go to next day
|
@@ -90,6 +85,23 @@ module PgS3Dumper
|
|
90
85
|
end
|
91
86
|
end
|
92
87
|
|
88
|
+
4.times.map{|i| i.weeks.ago}.each do |ts|
|
89
|
+
backups.each do |b|
|
90
|
+
b.keep_on_week(ts)
|
91
|
+
# We kept one backup on day ts, go to next day
|
92
|
+
break if b.keep
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
12.times.map{|i| i.months.ago}.each do |ts|
|
97
|
+
backups.each do |b|
|
98
|
+
b.keep_on_month(ts)
|
99
|
+
# We kept one backup on day ts, go to next day
|
100
|
+
break if b.keep
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
|
93
105
|
# Keep all backups for today
|
94
106
|
backups.each do |b|
|
95
107
|
b.keep_on_day(Date.today)
|
data/lib/pg_s3_dumper/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_s3_dumper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Goy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.4.5
|
112
|
+
rubygems_version: 2.4.5.1
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Simple tool to dump postgresql database to an S3 bucket.
|