backup 3.0.5 → 3.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.md +7 -3
- data/backup.gemspec +1 -1
- data/lib/backup/notifier/twitter.rb +3 -3
- data/lib/backup/version.rb +1 -1
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Backup 3
|
2
2
|
========
|
3
3
|
|
4
|
-
Backup is a RubyGem (for UNIX-like operating systems: Linux, Mac OSX) that allows you to configure and perform backups in a simple manner using an elegant Ruby DSL. It supports various databases (MySQL, PostgreSQL, MongoDB and Redis), it supports various storage locations (Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and
|
4
|
+
Backup is a RubyGem (for UNIX-like operating systems: Linux, Mac OSX) that allows you to configure and perform backups in a simple manner using an elegant Ruby DSL. It supports various databases (MySQL, PostgreSQL, MongoDB and Redis), it supports various storage locations (Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and directories, it can cycle backups, it can do incremental backups, it can compress backups, it can encrypt backups (OpenSSL or GPG), it can notify you about successful and/or failed backups (Email or Twitter). It is very extensible and easy to add new functionality to. It's easy to use.
|
5
5
|
|
6
6
|
Author
|
7
7
|
------
|
@@ -43,7 +43,7 @@ Filesystem Support
|
|
43
43
|
------------------
|
44
44
|
|
45
45
|
- Files
|
46
|
-
-
|
46
|
+
- Directories
|
47
47
|
|
48
48
|
[Archive Wiki Page](https://github.com/meskyanichi/backup/wiki/Archives)
|
49
49
|
|
@@ -191,7 +191,7 @@ Below you see a sample configuration file you could create for Backup 3. Just re
|
|
191
191
|
|
192
192
|
### Explanation for the above example
|
193
193
|
|
194
|
-
First it dumps all the tables inside the MySQL database "my_sample_mysql_db", except for the "logs" table. It also dumps the MongoDB database "my_sample_mongo_db", but only the collections "users", "events" and "posts". After that it'll create a "user_avatars.tar" archive with all the uploaded avatars of the users. After that it'll create a "logs.tar" archive with the "production.log", "newrelic_agent.log" and "other.log" logs. After that it'll compress the backup file using Gzip (with the mode set to "best", rather than "fast" for best compression). After that it'll encrypt the whole backup file (everything included: databases, archives) using "OpenSSL". Now the Backup can only be extracted when you know the password to decrypt it ("my_secret_password" in this case). Then it'll store the backup file to Amazon S3 in to 'my_bucket/backups'. Next, we're going to use the RSync Syncer to create a mirror of the `/var/apps/my_app/public/videos` and `/var/apps/my_app/public/music`
|
194
|
+
First it dumps all the tables inside the MySQL database "my_sample_mysql_db", except for the "logs" table. It also dumps the MongoDB database "my_sample_mongo_db", but only the collections "users", "events" and "posts". After that it'll create a "user_avatars.tar" archive with all the uploaded avatars of the users. After that it'll create a "logs.tar" archive with the "production.log", "newrelic_agent.log" and "other.log" logs. After that it'll compress the backup file using Gzip (with the mode set to "best", rather than "fast" for best compression). After that it'll encrypt the whole backup file (everything included: databases, archives) using "OpenSSL". Now the Backup can only be extracted when you know the password to decrypt it ("my_secret_password" in this case). Then it'll store the backup file to Amazon S3 in to 'my_bucket/backups'. Next, we're going to use the RSync Syncer to create a mirror of the `/var/apps/my_app/public/videos` and `/var/apps/my_app/public/music` directories on a remote server. (This will not package, compress, encrypt - but will directly sync these directories "as is" to the desired location). Finally, it'll notify me by email if the backup raises an error/exception during the process, indicating that something went wrong. However, it does not notify me by email when successful backups occur because I set `mail.on_success` to `false`. It'll also notify me by Twitter when failed backups occur, but also when successful ones occur because I set the `tweet.on_success` to `true`.
|
195
195
|
|
196
196
|
### Things to note
|
197
197
|
|
@@ -250,6 +250,10 @@ Contributors
|
|
250
250
|
<td><a href="https://github.com/asanghi" target="_blank">Aditya Sanghi ( asanghi )</a></td>
|
251
251
|
<td>Twitter Notifier</td>
|
252
252
|
</tr>
|
253
|
+
<tr>
|
254
|
+
<td><a href="https://github.com/phlipper" target="_blank">Phil Cohen ( phlipper )</a></td>
|
255
|
+
<td>Exclude Option for Archives</td>
|
256
|
+
</tr>
|
253
257
|
</table>
|
254
258
|
|
255
259
|
Want to contribute?
|
data/backup.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.summary = 'Backup is a RubyGem (for UNIX-like operating systems: Linux, Mac OSX) that allows you to configure and perform backups in a simple manner using an elegant Ruby DSL.'
|
16
16
|
gem.description = 'Backup is a RubyGem (for UNIX-like operating systems: Linux, Mac OSX) that allows you to configure and perform backups in a simple manner using an elegant Ruby DSL.
|
17
17
|
It supports various databases (MySQL, PostgreSQL, MongoDB and Redis), it supports various storage locations
|
18
|
-
(Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and
|
18
|
+
(Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and directories,
|
19
19
|
it can cycle backups, it can do incremental backups, it can compress backups, it can encrypt backups (OpenSSL or GPG),
|
20
20
|
it can notify you about successful and/or failed backups (Email, Twitter). It is very extensible and easy to add new functionality to. It\'s easy to use.'
|
21
21
|
|
@@ -59,14 +59,14 @@ module Backup
|
|
59
59
|
# Sends a tweet informing the user that the backup operation
|
60
60
|
# proceeded without any errors
|
61
61
|
def notify_success!
|
62
|
-
twitter_client.update("[Backup::Succeeded] #{model.label} (#{
|
62
|
+
twitter_client.update("[Backup::Succeeded] #{model.label} (#{ File.basename(Backup::Model.file) })")
|
63
63
|
end
|
64
64
|
|
65
65
|
##
|
66
66
|
# Sends a tweet informing the user that the backup operation
|
67
|
-
# raised an exception
|
67
|
+
# raised an exception
|
68
68
|
def notify_failure!(exception)
|
69
|
-
twitter_client.update("[Backup::Failed] #{model.label} (#{
|
69
|
+
twitter_client.update("[Backup::Failed] #{model.label} (#{ File.basename(Backup::Model.file) })")
|
70
70
|
end
|
71
71
|
|
72
72
|
##
|
data/lib/backup/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: backup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 3.0.
|
5
|
+
version: 3.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Michael van Rooijen
|
@@ -93,7 +93,7 @@ dependencies:
|
|
93
93
|
description: |-
|
94
94
|
Backup is a RubyGem (for UNIX-like operating systems: Linux, Mac OSX) that allows you to configure and perform backups in a simple manner using an elegant Ruby DSL.
|
95
95
|
It supports various databases (MySQL, PostgreSQL, MongoDB and Redis), it supports various storage locations
|
96
|
-
(Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and
|
96
|
+
(Amazon S3, Rackspace Cloud Files, Dropbox, any remote server through FTP, SFTP, SCP and RSync), it can archive files and directories,
|
97
97
|
it can cycle backups, it can do incremental backups, it can compress backups, it can encrypt backups (OpenSSL or GPG),
|
98
98
|
it can notify you about successful and/or failed backups (Email, Twitter). It is very extensible and easy to add new functionality to. It's easy to use.
|
99
99
|
email: meskyanichi@gmail.com
|