easy_backup 0.0.4 → 0.0.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.
|
@@ -49,13 +49,13 @@ module EasyBackup
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def zip
|
|
52
|
-
zip_file "#{File.basename(dump_file, '.*')}.zip"
|
|
52
|
+
zip_file lambda { "#{File.basename(dump_file, '.*')}.zip" }
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
def send_to(storages)
|
|
56
56
|
dump_file_name = path_to(dump_file)
|
|
57
57
|
zip_file_name = path_to(zip_file)
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
FileUtils.mkpath File.dirname(dump_file_name) unless Dir.exist? File.dirname(dump_file_name)
|
|
60
60
|
|
|
61
61
|
EasyBackup.logger.info "[PostgreSQL] Dump postgres://#{username}:*****@#{host}:#{port}/#{database}\n#{' '*15}to #{dump_file_name}"
|
|
@@ -64,9 +64,11 @@ module EasyBackup
|
|
|
64
64
|
if t.value.success?
|
|
65
65
|
if zip_file
|
|
66
66
|
EasyBackup.logger.info "#{(' '*14)}zip #{zip_file_name}"
|
|
67
|
-
ZipFile.open(zip_file_name, ZipFile::CREATE)
|
|
67
|
+
ZipFile.open(zip_file_name, ZipFile::CREATE) do |zip|
|
|
68
|
+
zip.add File.basename(dump_file_name), dump_file_name
|
|
69
|
+
end
|
|
68
70
|
end
|
|
69
|
-
storages.each { |s| s.save
|
|
71
|
+
storages.each { |s| s.save(zip_file ? zip_file_name : dump_file_name) }
|
|
70
72
|
else
|
|
71
73
|
EasyBackup.logger.error "[PostgreSQL] Error: #{e.readlines.join}"
|
|
72
74
|
end
|
|
@@ -41,7 +41,7 @@ module EasyBackup
|
|
|
41
41
|
(files | folders).each do |resource|
|
|
42
42
|
if Dir.exist? resource
|
|
43
43
|
EasyBackup.logger.info "#{' '*13}add #{resource}"
|
|
44
|
-
Dir
|
|
44
|
+
Dir.glob("#{resource}/**/**", File::FNM_DOTMATCH).reject{|entry| entry.end_with? '/.'}.each do |r|
|
|
45
45
|
EasyBackup.logger.info "#{' '*13}add #{r}" unless Dir.exist? r
|
|
46
46
|
zip.add "#{File.basename(resource)}/#{r.gsub("#{resource}/", '')}", r
|
|
47
47
|
end
|
|
@@ -25,12 +25,35 @@ module EasyBackup
|
|
|
25
25
|
|
|
26
26
|
def save(resource)
|
|
27
27
|
Net::SFTP.start(host, username, :password => password) do |sftp|
|
|
28
|
-
|
|
28
|
+
sftp_folder = folder
|
|
29
|
+
EasyBackup.logger.info "[SFTP] Saving #{resource}\n#{' '*9}into #{host} | #{username} | #{sftp_folder}"
|
|
29
30
|
|
|
30
|
-
sftp.mkpath!
|
|
31
|
-
sftp.upload! resource, "#{
|
|
31
|
+
sftp.mkpath! sftp_folder, :progress => SFTPHandler.new
|
|
32
|
+
sftp.upload! resource, "#{sftp_folder}/#{File.basename(resource)}", :progress => SFTPHandler.new
|
|
32
33
|
end
|
|
33
34
|
end
|
|
34
35
|
end
|
|
36
|
+
|
|
37
|
+
class SFTPHandler
|
|
38
|
+
def on_open(uploader, file)
|
|
39
|
+
EasyBackup.logger.info "#{' '*9}starting upload: #{file.local} -> #{file.remote} (#{file.size} bytes)"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def on_put(uploader, file, offset, data)
|
|
43
|
+
EasyBackup.logger.info "#{' '*9}#{data.length} bytes to #{file.remote} starting at #{offset}"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def on_close(uploader, file)
|
|
47
|
+
EasyBackup.logger.info "#{' '*9}finished with #{file.remote}"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def on_mkdir(uploader, path)
|
|
51
|
+
EasyBackup.logger.info "#{' '*9}creating directory #{path}"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def on_finish(uploader)
|
|
55
|
+
EasyBackup.logger.info "#{' '*9}all done!"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
35
58
|
end
|
|
36
59
|
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
module Net
|
|
2
2
|
module SFTP
|
|
3
3
|
class Session
|
|
4
|
-
def mkpath!(path)
|
|
4
|
+
def mkpath!(path, options={})
|
|
5
5
|
path.split('/').inject(nil) do |previous, relative|
|
|
6
6
|
current = previous ? "#{previous}/#{relative}" : relative
|
|
7
|
-
mkdir! current if dir.glob('.', current).empty?
|
|
7
|
+
mkdir! current, options if dir.glob('.', current).empty?
|
|
8
8
|
current
|
|
9
9
|
end
|
|
10
10
|
end
|
data/lib/easy_backup/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: easy_backup
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-06-22 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rubyzip
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &24129288 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *24129288
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: net-sftp
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &24129000 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *24129000
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: activesupport
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &24128676 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 3.0.0
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *24128676
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: i18n
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &24128412 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *24128412
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: chronic
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &24128124 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *24128124
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rufus-scheduler
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &24127860 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :runtime
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *24127860
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: sequel
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &24127596 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *24127596
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: pg
|
|
93
|
-
requirement: &
|
|
93
|
+
requirement: &24127344 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ! '>='
|
|
@@ -98,10 +98,10 @@ dependencies:
|
|
|
98
98
|
version: '0'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *24127344
|
|
102
102
|
- !ruby/object:Gem::Dependency
|
|
103
103
|
name: rspec
|
|
104
|
-
requirement: &
|
|
104
|
+
requirement: &24127092 !ruby/object:Gem::Requirement
|
|
105
105
|
none: false
|
|
106
106
|
requirements:
|
|
107
107
|
- - ! '>='
|
|
@@ -109,7 +109,7 @@ dependencies:
|
|
|
109
109
|
version: '0'
|
|
110
110
|
type: :development
|
|
111
111
|
prerelease: false
|
|
112
|
-
version_requirements: *
|
|
112
|
+
version_requirements: *24127092
|
|
113
113
|
description: Easy DSL to program backups
|
|
114
114
|
email:
|
|
115
115
|
- gabynaiman@gmail.com
|