…hange this on release. Also added "Rackspace Cloud Files" as a Syncer.
- Use pipelines to: - Add compression to Archives - Add compression to Databases, where possible - Add encryption and splitter to final packaging - Models only support one Compressor and/or one Encryptor - Update Dropbox to use 'dropbox-sdk' gem - Adds 'access_type' setting (default: 'app_folder') - Deprecate 'timeout' setting - Final packaged archive structure updated - Archives are stored in <trigger>/archives - Databases are stored in <trigger>/databases - see wiki for more details... - Deprecate Database#utility_path - Each Database now uses it's own #<utility_name>_utility method to override the full path to the named utility - Encryptor::OpenSSL now sets @salt to true by default - Cleanup procedures updated - If errors occur, temporary files will no longer be removed until the next time the failed model/trigger is run. - see wiki for details... - Storage::Local now performs a 'move' instead of a 'copy' to transfer the final archive package files to their destination, if possible. - Backup's log file will now keep itself truncated to 500KB This is a rather large single commit. The changes to add the pipeline capabilities had a widespread effect which resulted in other internal changes and refactorings. As a result, all the specs have been updated.
* Backup::Logger stores all messages written to the log file, which are accessible as an Array via Backup::Logger.messages * Backup::Logger.has_warnings? returns true when warnings are reported * Each Notifier has been updated to send a notification when warnings occur, if `on_warning` or `on_success` is set to true * Notifier::Mail will additionally use a separate `warning.erb` template which will include the log messages for the current backup * The `exception/screen.erb` template also now includes Log Messages, which is included in the `notifier/mail/failure.erb` template. * All Notifiers now send a message in the form of: [Backup::Status] label (trigger) `Status` is one of `Success`, `Warning` or `Failure` `label` and `trigger` are defined in the Backup Configuration e.g. Backup::Model.new(:trigger, 'label') do
… (Also updated the whole GitHub wiki at this time.)
… ensure fast compatibility when Ruby 1.9.3 final is released.