backup 2.3.2 → 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.2
1
+ 2.3.3
@@ -100,7 +100,7 @@ module Backup
100
100
  self.encrypted_file = "#{self.final_file}.enc"
101
101
  run "openssl enc -des-cbc -in #{File.join(tmp_path, compressed_file)} -out #{File.join(tmp_path, encrypted_file)} -k #{encrypt_with_password}"
102
102
  end
103
- self.final_file = encrypted_file
103
+ self.final_file = encrypted_file if encrypted_file
104
104
  end
105
105
 
106
106
  # Initializes the storing process
@@ -3,7 +3,40 @@ module Backup
3
3
  class MySQL < Backup::Adapters::Base
4
4
 
5
5
  attr_accessor :user, :password, :database, :skip_tables, :host, :port, :socket, :additional_options, :tables
6
-
6
+
7
+ # the adapter declares his own configuration
8
+ adapter_configuration do
9
+ # :required => true # by default, optional
10
+ string :user, :password, :database, :additional_options
11
+ # array allows to call the same configuration multiple times:
12
+ # skip_tables 't1', 't2'
13
+ # skip_tables 't3'
14
+ # the result will always combined
15
+ array :skip_tables
16
+ configuration_group :options do
17
+ string :host, :port, :socket
18
+ end
19
+ # settings to be applied globally
20
+ global do
21
+ string :mysqldump_full_path
22
+ end
23
+ end
24
+
25
+ # adapter :mysql do
26
+ # user 'user'
27
+ # password 'password'
28
+ # database 'database'
29
+ #
30
+ # # skip_tables ['table1', 'table2', 'table3']
31
+ # #
32
+ # # options do
33
+ # # host '123.45.678.90'
34
+ # # port '80'
35
+ # # socket '/tmp/socket.sock'
36
+ # # end
37
+ # # additional_options '--single-transaction --quick'
38
+ # end
39
+
7
40
  private
8
41
 
9
42
  # Dumps and Compresses the MySQL file
@@ -0,0 +1,8 @@
1
+ module Backup
2
+ module Configuration
3
+ class GlobalSettings
4
+ extend Backup::Configuration::Attributes
5
+ generate_attributes %w(pg_dump_full_path mysqldump_full_path)
6
+ end
7
+ end
8
+ end
@@ -2,6 +2,11 @@ module Backup
2
2
  module Configuration
3
3
  module Helpers
4
4
 
5
+ def global_settings(&block)
6
+ @global_settings = Backup::Configuration::GlobalSettings.new
7
+ @global_settings.instance_eval &block
8
+ end
9
+
5
10
  # A helper method for the config/backup.rb configuration file
6
11
  # Expects a trigger in argument one (STRING)
7
12
  # Expects a block of settings
@@ -21,4 +26,4 @@ module Backup
21
26
 
22
27
  end
23
28
  end
24
- end
29
+ end
@@ -0,0 +1,43 @@
1
+ # TODO como usar pipes para melhorar performance?
2
+
3
+ BackupManager(params)
4
+ Adapter.new(params).perform_backup # stores in tmp_path/filename
5
+ Compressor.execute # stores in tmp_path/filename.gz or bz2
6
+ Encryptor.execute # stores in tmp_path/filename.enc
7
+ Splitter.execute # stores in tmp_path/filename.enc*
8
+ # TODO store the "results" of the backup
9
+ Storage.store # tmp_path/filename
10
+ Notifier.notify
11
+
12
+
13
+ RestoreManager
14
+ # TODO store the "results" of the backup
15
+ RETRIEVE em vez de get!
16
+ Storage.get # gets the file and stores in tmp_path/filename*
17
+ Splitter.undo # stores in tmp_path/filename.enc*
18
+ Encryptor.undo # stores in tmp_path/filename.enc
19
+ Compressor.undo # stores in tmp_path/filename.gz or bz2
20
+ Adapter.perform_restore # stores in tmp_path/filename
21
+
22
+ class Base
23
+ global_configuration do
24
+ string :bin_full_path
25
+ end
26
+
27
+ configuration do
28
+ string :username, :required => true
29
+ end
30
+
31
+ def initialize
32
+ # handle your options
33
+ end
34
+
35
+ def perform_backup # or backup_command?? if we use a command, the manager can decide to add the filename or pipe to the next command
36
+ # do your backup here, and store it in tmp_path/filename
37
+ end
38
+
39
+ def perform_restore # or restore_command?? so we can pipe the commands
40
+ # do your restore here from tmp_path/filename
41
+ end
42
+ end
43
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backup
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 3
9
- - 2
10
- version: 2.3.2
9
+ - 3
10
+ version: 2.3.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael van Rooijen
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-19 00:00:00 +02:00
18
+ date: 2010-09-20 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -179,50 +179,52 @@ files:
179
179
  - CHANGELOG
180
180
  - LICENSE
181
181
  - VERSION
182
- - lib/backup/adapters/archive.rb
183
- - lib/backup/adapters/base.rb
184
- - lib/backup/adapters/custom.rb
185
- - lib/backup/adapters/mysql.rb
186
- - lib/backup/adapters/postgresql.rb
187
- - lib/backup/adapters/sqlite.rb
182
+ - lib/backup/esboco.txt
183
+ - lib/backup/environment/base.rb
184
+ - lib/backup/environment/unix.rb
185
+ - lib/backup/environment/rails.rb
188
186
  - lib/backup/command_helper.rb
189
- - lib/backup/configuration/adapter.rb
190
- - lib/backup/configuration/adapter_options.rb
191
- - lib/backup/configuration/attributes.rb
192
- - lib/backup/configuration/base.rb
193
- - lib/backup/configuration/helpers.rb
194
- - lib/backup/configuration/mail.rb
195
- - lib/backup/configuration/smtp.rb
196
- - lib/backup/configuration/storage.rb
197
187
  - lib/backup/connection/cloudfiles.rb
198
188
  - lib/backup/connection/s3.rb
199
- - lib/backup/environment/base.rb
200
- - lib/backup/environment/rails.rb
201
- - lib/backup/environment/unix.rb
189
+ - lib/backup/adapters/custom.rb
190
+ - lib/backup/adapters/postgresql.rb
191
+ - lib/backup/adapters/mysql.rb
192
+ - lib/backup/adapters/sqlite.rb
193
+ - lib/backup/adapters/base.rb
194
+ - lib/backup/adapters/archive.rb
195
+ - lib/backup/storage/cloudfiles.rb
196
+ - lib/backup/storage/sftp.rb
197
+ - lib/backup/storage/s3.rb
198
+ - lib/backup/storage/local.rb
199
+ - lib/backup/storage/base.rb
200
+ - lib/backup/storage/scp.rb
201
+ - lib/backup/storage/ftp.rb
202
202
  - lib/backup/mail/base.rb
203
203
  - lib/backup/mail/mail.txt
204
- - lib/backup/record/base.rb
205
204
  - lib/backup/record/cloudfiles.rb
206
- - lib/backup/record/ftp.rb
207
- - lib/backup/record/local.rb
205
+ - lib/backup/record/sftp.rb
208
206
  - lib/backup/record/s3.rb
207
+ - lib/backup/record/local.rb
208
+ - lib/backup/record/base.rb
209
209
  - lib/backup/record/scp.rb
210
- - lib/backup/record/sftp.rb
211
- - lib/backup/storage/base.rb
212
- - lib/backup/storage/cloudfiles.rb
213
- - lib/backup/storage/ftp.rb
214
- - lib/backup/storage/local.rb
215
- - lib/backup/storage/s3.rb
216
- - lib/backup/storage/scp.rb
217
- - lib/backup/storage/sftp.rb
210
+ - lib/backup/record/ftp.rb
211
+ - lib/backup/configuration/attributes.rb
212
+ - lib/backup/configuration/mail.rb
213
+ - lib/backup/configuration/smtp.rb
214
+ - lib/backup/configuration/helpers.rb
215
+ - lib/backup/configuration/base.rb
216
+ - lib/backup/configuration/storage.rb
217
+ - lib/backup/configuration/adapter.rb
218
+ - lib/backup/configuration/global_settings.rb
219
+ - lib/backup/configuration/adapter_options.rb
218
220
  - lib/backup.rb
219
221
  - bin/backup
220
- - generators/backup/backup_generator.rb
221
- - generators/backup/templates/config/backup.rb
222
+ - generators/backup_update/templates/migrations/update_backup_tables.rb
223
+ - generators/backup_update/backup_update_generator.rb
222
224
  - generators/backup/templates/migrations/create_backup_tables.rb
225
+ - generators/backup/templates/config/backup.rb
223
226
  - generators/backup/templates/tasks/backup.rake
224
- - generators/backup_update/backup_update_generator.rb
225
- - generators/backup_update/templates/migrations/update_backup_tables.rb
227
+ - generators/backup/backup_generator.rb
226
228
  - setup/backup.rb
227
229
  - setup/backup.sqlite3
228
230
  has_rdoc: true