All deprecations are made in such a way that your currently configured backups will still function.
However, the use of deprecated options will cause your backup jobs to complete “with Warnings” until
your configuration files are updated. You can check your configuration using backup check
.
The S3 Storage and Syncer can now handle deleting more than 1000 objects.
The suffix length for the Splitter may now be configured (defaults to 2).
The Redis Database will now retry invoke_save
if a SAVE
is already in progress.
Adds ability to create custom Models
in your config.rb
with preconfigured components.
See the Preconfigured Models page for details.
Additional options to pass to fog (and excon) may now be configured for the S3
and CloudFiles
Storage and Syncer.
Allow AWS IAM Profile to be used with the S3 Storage and S3 Syncer.
Allow passing SSH connection options for the SFTP Storage.
Add ability to exclude files/folders from all Syncers.
Archives now use tar’s --files-from
option to avoid command-line argument list limitations.
Fix log truncation for Logger::Logfile so running a job as root
(or via sudo) won’t
cause the log file to have root-only write access.
SIGINT
(ctrl-c) will now cleanly exit.Syslog
Logger will no longer raise errors if the log message contains format sequences.Fixes an issue where it was a possible for the request to complete a multipart upload to fail without any retries or failure/warnings indicated.
If chunk_size
is too small to accommodate the file being uploaded using multipart uploading, the chunk_size
will now be automatically adjusted and a warning will be logged. The Splitter should be used to
enforce your desired chunk_size
.
Now works with ruby-1.8.7
region
may now be configured.
Support for Static Large Objects (SLO) has been added. This is disabled by default for backward compatibility,
but may be enabled by simply configuring a segments_container
and segment_size
.
All failed request will now be retried. By default, 10 retries will be attempted with a 30 second pause between,
which may be changed by configuring max_retries
and retry_waitsec
.
All files stored may now be scheduled for deletion by the server using the new days_to_keep
option. This would
be used in lieu of the Cycler. Both may be set, however, to easily transition from using keep
to using
days_to_keep
.
Backup package files being removed by the Cycler are now removed using a bulk delete request.
Cloud Syncers (both S3 and CloudFiles)
Syncers no longer make HEAD requests for each remote file while collecting the remote file’s ETag. These are now
simply taken from one or more get_bucket
calls, greatly reducing the number of requests during Syncer operation.
All files to be removed from the server (if the mirror
option is set) are now removed after all transfers have
occurred and are removed using bulk delete requests. Again, reducing the number of requests. Any errors occurring
while removing objects are also now logged as warnings, instead of causing the job to fail.
All file transfers (and delete requests) are now retried when errors occur. By default, 10 retries will be attempted
with a 30 second pause between, which may be adjusted using max_retries
and retry_waitsec
.
Syncers will now skip files too large to transfer and log a warning.
region
may now be configured.:exim
delivery method now works.sudo_user
option for PostgreSQL.chunk_retries
setting has been renamed to max_retries
for consistency.Cloud Syncers (both S3 and CloudFiles)
concurrency_type
and concurrency_level
settings have been removed. Concurrency is now only supported using
threads, and a new thread_count
setting has been added to configured the desired number of threads to use.max_retries
and
retry_waitsec
options for each Notifier. All retries and failures will be logged.backup perform
.on_success
notifications,
or not attach the log for on_warning
and on_failure
notifications, using a new send_log_on
option.Backup::Model
.sendmail
and exim
settings used to specify the path to these utilities have been deprecated.
Previously if these were not set, the default locations specified by the mail
gem were used. This is no longer the
case. Backup will now find these utilities using a which
call and always set their path. If you still need to
specify the path, see the Utilities page.:exim
delivery method.gem install backup
will now install all required gem dependencies.
The backup dependencies
command has been removed.gem cleanup
will no longer silently remove Backup’s gem dependencies.Timeout::Error
under ruby-1.8.7.databases/
folder.database_id
to all Databases, used to uniquely identify their dump files within the final backup package.oplog
option to the MongoDB Database.sudo
privileges.use_sudo
option to Archives to run the tar
command using sudo
.backup check
command to the [Command Line Options][command-line-options].name
and group
settings are no longer used.All Databases had settings (which ended in _utility
) that allowed you to configure the path to the system utilities
each database used, such as mysqldump
or redis-cli
. If Backup can not find a utility in your $PATH
using a which
command, the path to the utility may be set using Utilities.
New database_id
Requirement
If you have more than one Database of the same type (i.e. MySQL, PostgreSQL, etc) defined on
a single Backup model, setting a database_id
for each instance will be required.
If this is not done, Backup will auto-generate one for you and log a warning.
Using backup check
will detect this.
root
path option to Archives to allow creating tar archives
with paths relative to the specified root
, as opposed to the root of the filesystem.backup perform
will now exit with a non-zero status code if any warnings or errors
occurred while performing any model/trigger.enable_starttls_auto
setting has been replaced with a encryption
setting.additional_options
setting has been changed to additional_rsync_options
.username
setting has been changed to ssh_user
.password
setting has been changed to rsync_password
.ip
setting has been changed to host
.local
setting is no longer used. (just don’t specify a host
)username
setting has been changed to ssh_user
.password
setting has been changed to rsync_password
.ip
setting has been changed to host
.backup dependencies --install
so gems may be installed when Bundler is loaded,
as long as no bundled environment is active.Add the excon
gem as a managed dependency.
The fog
gem requires this, but places no constraints on newer versions,
which leads to incompatibilities.
Tightened dependency version requirements to maintain stability.
fog-1.10.0
changed it’s requirement on net-scp
from ~> 1.0.4
to ~> 1.1.0
.
Also, net-scp > 1.0.4
requires net-ssh
versions > 2.6
.
Although they appear to work properly, versions of net-ssh > 2.5.1
do not officially support ruby-1.8.7
- which we still do (for the moment).
Changes since version 3.0.27
:
user
and group
may now be specified for a Riak Database.on_failure
notification fails,
the error that caused it to fail will now be logged.syslog
.
See Logging for details.--check
option was added for the backup perform
command.tar
is packaging them. See Archives for details, as this
behavior varies based on whether GNU or BSD tar
is being used.rsyncable
option has been added to the Gzip Compressor.config.rb
.
See Utilities for details.This page was started with the 3.1.0
release. Please see the commit history for older changes.