Permalink
Browse files

Merge branch 'develop'

  • Loading branch information...
2 parents e9ee30c + f3fc6dc commit bca9ab8b05cfaf65e78f069264ca78f5b4231799 Michael van Rooijen committed Apr 22, 2012
Showing with 7,202 additions and 5,315 deletions.
  1. +42 −45 Gemfile.lock
  2. +7 −4 Guardfile
  3. +10 −7 README.md
  4. +2 −2 backup.gemspec
  5. +27 −97 lib/backup.rb
  6. +14 −6 lib/backup/archive.rb
  7. +52 −49 lib/backup/cli/helpers.rb
  8. +9 −1 lib/backup/cli/utility.rb
  9. +10 −4 lib/backup/compressor/base.rb
  10. +22 −26 lib/backup/compressor/bzip2.rb
  11. +53 −0 lib/backup/compressor/custom.rb
  12. +22 −23 lib/backup/compressor/gzip.rb
  13. +15 −13 lib/backup/compressor/lzma.rb
  14. +20 −17 lib/backup/compressor/pbzip2.rb
  15. +6 −3 lib/backup/config.rb
  16. +33 −0 lib/backup/configuration.rb
  17. +0 −15 lib/backup/configuration/base.rb
  18. +0 −9 lib/backup/configuration/compressor/base.rb
  19. +0 −23 lib/backup/configuration/compressor/bzip2.rb
  20. +0 −23 lib/backup/configuration/compressor/gzip.rb
  21. +0 −23 lib/backup/configuration/compressor/lzma.rb
  22. +0 −28 lib/backup/configuration/compressor/pbzip2.rb
  23. +0 −19 lib/backup/configuration/database/base.rb
  24. +0 −49 lib/backup/configuration/database/mongodb.rb
  25. +0 −42 lib/backup/configuration/database/mysql.rb
  26. +0 −41 lib/backup/configuration/database/postgresql.rb
  27. +0 −39 lib/backup/configuration/database/redis.rb
  28. +0 −29 lib/backup/configuration/database/riak.rb
  29. +0 −9 lib/backup/configuration/encryptor/base.rb
  30. +0 −17 lib/backup/configuration/encryptor/gpg.rb
  31. +0 −32 lib/backup/configuration/encryptor/open_ssl.rb
  32. +114 −28 lib/backup/configuration/helpers.rb
  33. +0 −28 lib/backup/configuration/notifier/base.rb
  34. +0 −25 lib/backup/configuration/notifier/campfire.rb
  35. +0 −41 lib/backup/configuration/notifier/hipchat.rb
  36. +0 −112 lib/backup/configuration/notifier/mail.rb
  37. +0 −25 lib/backup/configuration/notifier/presently.rb
  38. +0 −23 lib/backup/configuration/notifier/prowl.rb
  39. +0 −21 lib/backup/configuration/notifier/twitter.rb
  40. +0 −18 lib/backup/configuration/storage/base.rb
  41. +0 −25 lib/backup/configuration/storage/cloudfiles.rb
  42. +0 −58 lib/backup/configuration/storage/dropbox.rb
  43. +0 −29 lib/backup/configuration/storage/ftp.rb
  44. +0 −17 lib/backup/configuration/storage/local.rb
  45. +0 −20 lib/backup/configuration/storage/ninefold.rb
  46. +0 −29 lib/backup/configuration/storage/rsync.rb
  47. +0 −25 lib/backup/configuration/storage/s3.rb
  48. +0 −25 lib/backup/configuration/storage/scp.rb
  49. +0 −25 lib/backup/configuration/storage/sftp.rb
  50. +24 −0 lib/backup/configuration/store.rb
  51. +0 −10 lib/backup/configuration/syncer/base.rb
  52. +0 −23 lib/backup/configuration/syncer/cloud.rb
  53. +0 −30 lib/backup/configuration/syncer/cloud_files.rb
  54. +0 −28 lib/backup/configuration/syncer/rsync/base.rb
  55. +0 −11 lib/backup/configuration/syncer/rsync/local.rb
  56. +0 −11 lib/backup/configuration/syncer/rsync/pull.rb
  57. +0 −31 lib/backup/configuration/syncer/rsync/push.rb
  58. +0 −23 lib/backup/configuration/syncer/s3.rb
  59. +0 −6 lib/backup/database/base.rb
  60. +27 −11 lib/backup/database/mongodb.rb
  61. +19 −14 lib/backup/database/mysql.rb
  62. +16 −11 lib/backup/database/postgresql.rb
  63. +7 −11 lib/backup/database/redis.rb
  64. +3 −6 lib/backup/database/riak.rb
  65. +5 −11 lib/backup/dependency.rb
  66. +14 −5 lib/backup/model.rb
  67. +3 −16 lib/backup/notifier/campfire.rb
  68. +1 −7 lib/backup/notifier/hipchat.rb
  69. +1 −1 lib/backup/notifier/mail.rb
  70. +0 −88 lib/backup/notifier/presently.rb
  71. +29 −19 lib/backup/packager.rb
  72. +110 −0 lib/backup/pipeline.rb
  73. +4 −7 lib/backup/storage/dropbox.rb
  74. +8 −4 lib/backup/syncer/base.rb
  75. +0 −187 lib/backup/syncer/cloud.rb
  76. +247 −0 lib/backup/syncer/cloud/base.rb
  77. +78 −0 lib/backup/syncer/cloud/cloud_files.rb
  78. +68 −0 lib/backup/syncer/cloud/s3.rb
  79. +0 −56 lib/backup/syncer/cloud_files.rb
  80. +1 −4 lib/backup/syncer/rsync/base.rb
  81. +9 −5 lib/backup/syncer/rsync/local.rb
  82. +1 −1 lib/backup/syncer/rsync/pull.rb
  83. +10 −5 lib/backup/syncer/rsync/push.rb
  84. +0 −47 lib/backup/syncer/s3.rb
  85. +1 −1 lib/backup/version.rb
  86. +6 −0 spec-live/.gitignore
  87. +7 −0 spec-live/README
  88. +153 −0 spec-live/backups/config.rb
  89. +43 −0 spec-live/backups/config.yml.template
  90. +30 −0 spec-live/compressor/custom_spec.rb
  91. +30 −0 spec-live/compressor/gzip_spec.rb
  92. +85 −0 spec-live/notifier/mail_spec.rb
  93. +85 −0 spec-live/spec_helper.rb
  94. +151 −0 spec-live/storage/dropbox_spec.rb
  95. +83 −0 spec-live/storage/local_spec.rb
  96. +193 −0 spec-live/storage/scp_spec.rb
  97. +124 −0 spec-live/syncer/cloud/s3_spec.rb
  98. +86 −31 spec/archive_spec.rb
  99. +8 −0 spec/cleaner_spec.rb
  100. +200 −75 spec/cli/helpers_spec.rb
  101. +11 −3 spec/cli/utility_spec.rb
  102. +31 −10 spec/compressor/base_spec.rb
  103. +212 −57 spec/compressor/bzip2_spec.rb
  104. +106 −0 spec/compressor/custom_spec.rb
  105. +212 −57 spec/compressor/gzip_spec.rb
  106. +75 −35 spec/compressor/lzma_spec.rb
  107. +93 −52 spec/compressor/pbzip2_spec.rb
  108. +0 −35 spec/configuration/base_spec.rb
  109. +0 −29 spec/configuration/compressor/bzip2_spec.rb
  110. +0 −29 spec/configuration/compressor/gzip_spec.rb
  111. +0 −29 spec/configuration/compressor/lzma_spec.rb
  112. +0 −32 spec/configuration/compressor/pbzip2_spec.rb
  113. +0 −17 spec/configuration/database/base_spec.rb
  114. +0 −56 spec/configuration/database/mongodb_spec.rb
  115. +0 −53 spec/configuration/database/mysql_spec.rb
  116. +0 −53 spec/configuration/database/postgresql_spec.rb
  117. +0 −50 spec/configuration/database/redis_spec.rb
  118. +0 −35 spec/configuration/database/riak_spec.rb
  119. +0 −26 spec/configuration/encryptor/gpg_spec.rb
  120. +0 −35 spec/configuration/encryptor/open_ssl_spec.rb
  121. +406 −0 spec/configuration/helpers_spec.rb
  122. +0 −32 spec/configuration/notifier/base_spec.rb
  123. +0 −32 spec/configuration/notifier/campfire_spec.rb
  124. +0 −44 spec/configuration/notifier/hipchat_spec.rb
  125. +0 −71 spec/configuration/notifier/mail_spec.rb
  126. +0 −35 spec/configuration/notifier/presently_spec.rb
  127. +0 −29 spec/configuration/notifier/prowl_spec.rb
  128. +0 −35 spec/configuration/notifier/twitter_spec.rb
  129. +0 −41 spec/configuration/storage/cloudfiles_spec.rb
  130. +0 −38 spec/configuration/storage/dropbox_spec.rb
  131. +0 −44 spec/configuration/storage/ftp_spec.rb
  132. +0 −29 spec/configuration/storage/local_spec.rb
  133. +0 −32 spec/configuration/storage/ninefold_spec.rb
  134. +0 −41 spec/configuration/storage/rsync_spec.rb
  135. +0 −38 spec/configuration/storage/s3_spec.rb
  136. +0 −41 spec/configuration/storage/scp_spec.rb
  137. +0 −41 spec/configuration/storage/sftp_spec.rb
  138. +39 −0 spec/configuration/store_spec.rb
  139. +0 −44 spec/configuration/syncer/cloud_files_spec.rb
  140. +0 −33 spec/configuration/syncer/rsync/base_spec.rb
  141. +0 −10 spec/configuration/syncer/rsync/local_spec.rb
  142. +0 −10 spec/configuration/syncer/rsync/pull_spec.rb
  143. +0 −43 spec/configuration/syncer/rsync/push_spec.rb
  144. +0 −38 spec/configuration/syncer/s3_spec.rb
  145. +62 −0 spec/configuration_spec.rb
  146. +19 −10 spec/database/base_spec.rb
  147. +195 −70 spec/database/mongodb_spec.rb
  148. +183 −64 spec/database/mysql_spec.rb
  149. +167 −53 spec/database/postgresql_spec.rb
  150. +121 −46 spec/database/redis_spec.rb
  151. +96 −27 spec/database/riak_spec.rb
  152. +2 −0 spec/dependency_spec.rb
  153. +10 −0 spec/encryptor/base_spec.rb
  154. +29 −13 spec/encryptor/gpg_spec.rb
  155. +40 −21 spec/encryptor/open_ssl_spec.rb
  156. +4 −0 spec/logger_spec.rb
  157. +19 −2 spec/model_spec.rb
  158. +32 −17 spec/notifier/base_spec.rb
  159. +63 −45 spec/notifier/campfire_spec.rb
  160. +79 −56 spec/notifier/hipchat_spec.rb
  161. +82 −46 spec/notifier/mail_spec.rb
  162. +0 −181 spec/notifier/presently_spec.rb
  163. +53 −32 spec/notifier/prowl_spec.rb
  164. +62 −41 spec/notifier/twitter_spec.rb
  165. +95 −36 spec/packager_spec.rb
  166. +259 −0 spec/pipeline_spec.rb
  167. +6 −5 spec/spec_helper.rb
  168. +61 −41 spec/storage/base_spec.rb
  169. +69 −45 spec/storage/cloudfiles_spec.rb
  170. +158 −36 spec/storage/dropbox_spec.rb
  171. +69 −45 spec/storage/ftp_spec.rb
  172. +47 −23 spec/storage/local_spec.rb
  173. +55 −31 spec/storage/ninefold_spec.rb
  174. +67 −50 spec/storage/rsync_spec.rb
  175. +65 −41 spec/storage/s3_spec.rb
  176. +65 −41 spec/storage/scp_spec.rb
  177. +65 −41 spec/storage/sftp_spec.rb
  178. +91 −4 spec/syncer/base_spec.rb
  179. +511 −0 spec/syncer/cloud/base_spec.rb
  180. +181 −0 spec/syncer/cloud/cloud_files_spec.rb
  181. +174 −0 spec/syncer/cloud/s3_spec.rb
  182. +0 −192 spec/syncer/cloud_files_spec.rb
  183. +46 −66 spec/syncer/rsync/base_spec.rb
  184. +55 −26 spec/syncer/rsync/local_spec.rb
  185. +15 −4 spec/syncer/rsync/pull_spec.rb
  186. +59 −52 spec/syncer/rsync/push_spec.rb
  187. +0 −192 spec/syncer/s3_spec.rb
  188. +1 −4 templates/cli/utility/compressor/bzip2
  189. +11 −0 templates/cli/utility/compressor/custom
  190. +1 −4 templates/cli/utility/compressor/gzip
  191. +3 −0 templates/cli/utility/compressor/lzma
  192. +3 −0 templates/cli/utility/compressor/pbzip2
  193. +4 −1 templates/cli/utility/database/mysql
  194. +0 −13 templates/cli/utility/notifier/presently
  195. +17 −19 templates/cli/utility/syncer/cloud_files
  196. +18 −20 templates/cli/utility/syncer/s3
View
@@ -2,29 +2,25 @@ PATH
remote: .
specs:
backup (3.0.23)
- POpen4 (~> 0.1.4)
+ open4 (~> 1.3.0)
thor (~> 0.14.6)
GEM
remote: http://rubygems.org/
specs:
- POpen4 (0.1.4)
- Platform (>= 0.4.0)
- open4
- Platform (0.4.0)
- activesupport (3.1.3)
+ activesupport (3.2.2)
+ i18n (~> 0.6)
multi_json (~> 1.0)
- addressable (2.2.6)
+ addressable (2.2.7)
builder (3.0.0)
- crack (0.1.8)
diff-lcs (1.1.3)
- dropbox-sdk (1.1)
+ dropbox-sdk (1.2)
json
- excon (0.9.4)
- faraday (0.7.5)
- addressable (~> 2.2.6)
- multipart-post (~> 1.1.3)
- rack (>= 1.1.0, < 2)
+ excon (0.9.6)
+ faraday (0.7.6)
+ addressable (~> 2.2)
+ multipart-post (~> 1.1)
+ rack (~> 1.1)
ffi (1.0.11)
fog (1.1.2)
builder
@@ -37,56 +33,58 @@ GEM
nokogiri (~> 1.5.0)
ruby-hmac
formatador (0.2.1)
- fuubar (0.0.6)
+ fuubar (1.0.0)
rspec (~> 2.0)
- rspec-instafail (~> 0.1.8)
+ rspec-instafail (~> 0.2.0)
ruby-progressbar (~> 0.0.10)
growl (1.0.3)
- guard (0.10.0)
+ guard (1.0.1)
ffi (>= 0.5.0)
thor (~> 0.14.6)
guard-rspec (0.6.0)
guard (>= 0.10.0)
hipchat (0.4.1)
httparty
- httparty (0.7.8)
- crack (= 0.1.8)
+ httparty (0.8.1)
+ multi_json
+ multi_xml
i18n (0.6.0)
- json (1.5.4)
- libnotify (0.7.1)
- mail (2.4.1)
+ json (1.6.5)
+ libnotify (0.7.2)
+ mail (2.4.4)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
metaclass (0.0.1)
mime-types (1.17.2)
- mocha (0.10.0)
+ mocha (0.10.5)
metaclass (~> 0.0.1)
multi_json (1.0.4)
- multipart-post (1.1.4)
+ multi_xml (0.4.2)
+ multipart-post (1.1.5)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-sftp (2.0.5)
net-ssh (>= 2.0.9)
- net-ssh (2.1.4)
- nokogiri (1.5.0)
+ net-ssh (2.3.0)
+ nokogiri (1.5.2)
open4 (1.3.0)
- parallel (0.5.12)
+ parallel (0.5.16)
polyglot (0.3.3)
prowler (1.3.1)
- rack (1.4.0)
- rb-fsevent (0.4.3.1)
+ rack (1.4.1)
+ rb-fsevent (0.9.0)
rb-inotify (0.8.8)
ffi (>= 0.5.0)
- rspec (2.8.0)
- rspec-core (~> 2.8.0)
- rspec-expectations (~> 2.8.0)
- rspec-mocks (~> 2.8.0)
- rspec-core (2.8.0)
- rspec-expectations (2.8.0)
- diff-lcs (~> 1.1.2)
- rspec-instafail (0.1.9)
- rspec-mocks (2.8.0)
+ rspec (2.9.0)
+ rspec-core (~> 2.9.0)
+ rspec-expectations (~> 2.9.0)
+ rspec-mocks (~> 2.9.0)
+ rspec-core (2.9.0)
+ rspec-expectations (2.9.0)
+ diff-lcs (~> 1.1.3)
+ rspec-instafail (0.2.2)
+ rspec-mocks (2.9.0)
ruby-hmac (0.4.0)
ruby-progressbar (0.0.10)
simple_oauth (0.1.5)
@@ -95,7 +93,7 @@ GEM
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
- twitter (2.0.2)
+ twitter (2.1.1)
activesupport (>= 2.3.9, < 4)
faraday (~> 0.7)
multi_json (~> 1.0)
@@ -106,21 +104,20 @@ PLATFORMS
DEPENDENCIES
backup!
- dropbox-sdk (~> 1.1.0)
- fog (>= 0.11.0)
+ dropbox-sdk (~> 1.2.0)
+ fog (~> 1.1.0)
fuubar
growl
guard
guard-rspec
hipchat (~> 0.4.1)
- httparty (~> 0.7.4)
- json (~> 1.5.1)
+ httparty (~> 0.8.1)
libnotify
- mail (>= 2.4.0)
+ mail (~> 2.4.0)
mocha
net-scp (~> 1.0.4)
net-sftp (~> 2.0.5)
- net-ssh (~> 2.1.4)
+ net-ssh (~> 2.3.0)
parallel (~> 0.5.12)
prowler (>= 1.3.1)
rb-fsevent
View
@@ -12,10 +12,13 @@
guard "rspec",
:version => 2,
:rvm => ["1.9.3", "1.9.2", "1.8.7"],
- :bundler => true,
- :cli => "--color --format Fuubar" do
+ :cli => "--color --format Fuubar",
+ :notification => false,
+ :all_after_pass => false,
+ :all_on_start => false do
+ watch("lib/backup.rb") { "spec" }
+ watch("spec/spec_helper.rb") { "spec" }
+ watch(%r{^lib/backup/(.+)\.rb}) {|m| "spec/#{ m[1] }_spec.rb" }
watch(%r{^spec/.+_spec\.rb})
- watch(%r{^lib/(.+)\.rb}) { "spec" }
- watch("spec/spec_helper.rb") { "spec" }
end
View
@@ -69,20 +69,22 @@ Below you find a list of components that Backup currently supports. If you'd lik
- Dropbox Web Service
- Remote Servers *(Only Protocols: FTP, SFTP, SCP)*
- Local Storage
+
+[Cycling Wiki Page](https://github.com/meskyanichi/backup/wiki/Cycling)
+
- **Backup Splitting, applies to:**
- Amazon Simple Storage Service (S3)
- Rackspace Cloud Files (Mosso)
- Ninefold Cloud Storage
- Dropbox Web Service
- Remote Servers *(Only Protocols: FTP, SFTP, SCP)*
- Local Storage
-- **Incremental Backups, applies to:**
- - Remote Servers *(Only Protocols: RSync)*
-
-[Cycling Wiki Page](https://github.com/meskyanichi/backup/wiki/Cycling)
[Splitter Wiki Page](https://github.com/meskyanichi/backup/wiki/Splitter)
+- **Incremental Backups, applies to:**
+ - Remote Servers *(Only Protocols: RSync)*
+
### Syncers
- RSync (Push, Pull and Local)
@@ -128,7 +130,8 @@ Below you find a list of components that Backup currently supports. If you'd lik
A sample Backup configuration file
----------------------------------
-This is a Backup configuration file. Check it out and read the explanation below. Backup has a [great wiki](https://github.com/meskyanichi/backup/wiki) which explains each component of Backup in detail.
+This is a Backup configuration file. Check it out and read the explanation below.
+Backup has a [great wiki](https://github.com/meskyanichi/backup/wiki) which explains each component of Backup in detail.
``` rb
Backup::Model.new(:sample_backup, 'A sample backup configuration') do
@@ -193,7 +196,7 @@ Backup::Model.new(:sample_backup, 'A sample backup configuration') do
s3.keep = 20
end
- sync_with S3 do |s3|
+ sync_with Cloud::S3 do |s3|
s3.access_key_id = "my_access_key_id"
s3.secret_access_key = "my_secret_access_key"
s3.bucket = "my-bucket"
@@ -252,7 +255,7 @@ of `-aa`, `-ab` and `-ac`. These files will then be individually transfered. Thi
Amazon S3, Rackspace Cloud Files, or other 3rd party storage services which limit you to "5GB per file" uploads. So with
this, the backup file size is no longer a constraint.
-Additionally we have also defined a **S3 Syncer** ( `sync_with S3` ), which does not follow the above process of
+Additionally we have also defined a **S3 Syncer** ( `sync_with Cloud::S3` ), which does not follow the above process of
archiving/compression/encryption, but instead will directly sync the whole `videos` and `music` folder structures from
your machine to your Amazon S3 account. (very efficient and cost-effective since it will only transfer files that were
added/changed. Additionally, since we flagged it to 'mirror', it'll also remove files from S3 that no longer exist). If
View
@@ -26,7 +26,7 @@ Gem::Specification.new do |gem|
##
# Gem dependencies
- gem.add_dependency 'thor', ['~> 0.14.6']
- gem.add_dependency 'POpen4', ['~> 0.1.4']
+ gem.add_dependency 'thor', ['~> 0.14.6']
+ gem.add_dependency 'open4', ['~> 1.3.0']
end
Oops, something went wrong.

0 comments on commit bca9ab8

Please sign in to comment.