mirror of
https://github.com/octoleo/restic.git
synced 2024-11-29 16:23:59 +00:00
commit
e2bcfd68dd
@ -1,7 +1,7 @@
|
|||||||
Enhancement: Implement rewrite command
|
Enhancement: Implement `rewrite` command
|
||||||
|
|
||||||
We've added a new command which allows to rewrite existing snapshots to remove
|
Restic now has a `rewrite` command which allows to rewrite existing snapshots
|
||||||
unwanted files.
|
to remove unwanted files.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/14
|
https://github.com/restic/restic/issues/14
|
||||||
https://github.com/restic/restic/pull/2731
|
https://github.com/restic/restic/pull/2731
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
Enhancement: "Everything is ok" message after retrying
|
Enhancement: Inform about successful retries after errors
|
||||||
|
|
||||||
When a recoverable error is encountered, restic displays a warning message
|
When a recoverable error is encountered, restic shows a warning message saying
|
||||||
saying it's retrying, like this one:
|
that it's retrying, e.g.:
|
||||||
|
|
||||||
Save(<data/956b9ced99>) returned error, retrying after 357.131936ms: CreateBlockBlobFromReader: Put https://example.blob.core.windows.net/restic/data/95/956b9ced99...aac: write tcp 192.168.11.18:51620->1.2.3.4:443: write: connection reset by peer
|
`Save(<data/956b9ced99>) returned error, retrying after 357.131936ms: ...`
|
||||||
|
|
||||||
This message can be a little confusing because it seems like there was an
|
This message can be confusing in that it never clearly states whether the retry
|
||||||
error, but we're not sure if it was actually fixed by retrying.
|
is successful or not. This has now been fixed such that restic follows up with
|
||||||
|
a message confirming a successful retry, e.g.:
|
||||||
|
|
||||||
restic is now displaying a confirmation that the action was successful after retrying:
|
`Save(<data/956b9ced99>) operation successful after 1 retries`
|
||||||
|
|
||||||
Save(<data/956b9ced99>) operation successful after 1 retries
|
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/1734
|
https://github.com/restic/restic/issues/1734
|
||||||
https://github.com/restic/restic/pull/2661
|
https://github.com/restic/restic/pull/2661
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
Enhancement: Improve handling of directories with duplicate entries
|
Enhancement: Improve handling of directories with duplicate entries
|
||||||
|
|
||||||
If for some reason a directory contains a duplicate entry, this caused the
|
If for some reason a directory contains a duplicate entry, the `backup` command
|
||||||
backup command to fail with a `node "path/to/file" already present` or `nodes
|
would previously fail with a `node "path/to/file" already present` or `nodes
|
||||||
are not ordered got "path/to/file", last "path/to/file"` error.
|
are not ordered got "path/to/file", last "path/to/file"` error.
|
||||||
|
|
||||||
The error handling has been changed to only report a warning in this case. Make
|
The error handling has been improved to only report a warning in this case. Make
|
||||||
sure to check that the filesystem in question is not damaged!
|
sure to check that the filesystem in question is not damaged if you see this!
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/1866
|
https://github.com/restic/restic/issues/1866
|
||||||
https://github.com/restic/restic/issues/3937
|
https://github.com/restic/restic/issues/3937
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Bugfix: Mount command should return exit code 0 after receiving Ctrl-C
|
Bugfix: Make `mount` return exit code 0 after receiving Ctrl-C / SIGINT
|
||||||
|
|
||||||
To stop the mount command, a user has to press Ctrl-C or send a SIGINT to
|
To stop the `mount` command, a user has to press Ctrl-C or send a SIGINT
|
||||||
restic. This caused restic to exit with a non-zero exit code.
|
signal to restic. This used to cause restic to exit with a non-zero exit code.
|
||||||
|
|
||||||
We have changed the exit code to zero as this is the expected way to stop the
|
The exit code has now been changed to zero as the above is the expected way
|
||||||
mount command.
|
to stop the `mount` command and should therefore be considered successful.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2015
|
https://github.com/restic/restic/issues/2015
|
||||||
https://github.com/restic/restic/pull/3894
|
https://github.com/restic/restic/pull/3894
|
||||||
|
@ -3,13 +3,13 @@ Enhancement: Support B2 API keys restricted to hiding but not deleting files
|
|||||||
When the B2 backend does not have the necessary permissions to permanently
|
When the B2 backend does not have the necessary permissions to permanently
|
||||||
delete files, it now automatically falls back to hiding files. This allows
|
delete files, it now automatically falls back to hiding files. This allows
|
||||||
using restic with an application key which is not allowed to delete files.
|
using restic with an application key which is not allowed to delete files.
|
||||||
This prevents an attacker to delete backups with the API key used by restic.
|
This can prevent an attacker from deleting backups with such an API key.
|
||||||
|
|
||||||
To use this feature create an application key without the deleteFiles
|
To use this feature create an application key without the `deleteFiles`
|
||||||
capability. It is recommended to restrict the key to just one bucket.
|
capability. It is recommended to restrict the key to just one bucket.
|
||||||
For example using the b2 command line tool:
|
For example using the `b2` command line tool:
|
||||||
|
|
||||||
b2 create-key --bucket <bucketName> <keyName> listBuckets,readFiles,writeFiles,listFiles
|
`b2 create-key --bucket <bucketName> <keyName> listBuckets,readFiles,writeFiles,listFiles`
|
||||||
|
|
||||||
Alternatively, you can use the S3 backend to access B2, as described
|
Alternatively, you can use the S3 backend to access B2, as described
|
||||||
in the documentation. In this mode, files are also only hidden instead
|
in the documentation. In this mode, files are also only hidden instead
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
Enhancement: only open connection once for `init` command using sftp backend
|
Enhancement: Make `init` open only one connection for the SFTP backend
|
||||||
|
|
||||||
The `init` command using the sftp backend used to connect twice to the
|
The `init` command using the SFTP backend used to connect twice to the
|
||||||
repository. This can be inconvenient if the user must enter a password or cause
|
repository. This could be inconvenient if the user must enter a password,
|
||||||
`init` to fail if the server does not correctly close the first sftp
|
or cause `init` to fail if the server does not correctly close the first SFTP
|
||||||
connection.
|
connection.
|
||||||
|
|
||||||
This has been fixed by reusing the initial sftp connection.
|
This has now been fixed by reusing the first/initial SFTP connection opened.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2152
|
https://github.com/restic/restic/issues/2152
|
||||||
https://github.com/restic/restic/pull/3882
|
https://github.com/restic/restic/pull/3882
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
Enhancement: Redownload cached data if invalid
|
Enhancement: Handle cache corruption on disk and in downloads
|
||||||
|
|
||||||
In rare situations, like for example after a system crash, the data stored
|
In rare situations, like for example after a system crash, the data stored
|
||||||
in the cache might be corrupted. This could cause restic to fail and
|
in the cache might be corrupted. This could cause restic to fail and required
|
||||||
required manually deleting the cache.
|
manually deleting the cache.
|
||||||
|
|
||||||
Restic now automatically removes broken data from the cache, allowing it
|
Restic now automatically removes broken data from the cache, allowing it
|
||||||
to recover from such a situation without user intervention. In addition,
|
to recover from such a situation without user intervention. In addition,
|
||||||
restic retries downloads which return corrupt data in order to handle
|
restic retries downloads which return corrupt data in order to also handle
|
||||||
temporary download problems.
|
temporary download problems.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2533
|
https://github.com/restic/restic/issues/2533
|
||||||
|
@ -1,22 +1,17 @@
|
|||||||
Bugfix: Don't read password from stdin for backup --stdin
|
Bugfix: Don't read password from stdin for `backup --stdin`
|
||||||
|
|
||||||
Restic backup previously tried to read first the password, then the data
|
The `backup` command when used with `--stdin` previously tried to read first
|
||||||
to be backed up from standard input. This meant it would often confuse part
|
the password, then the data to be backed up from standard input. This meant
|
||||||
of the data for the password.
|
it would often confuse part of the data for the password.
|
||||||
|
|
||||||
From now on, restic backup --stdin will exit with the message
|
From now on, it will instead exit with the message `Fatal: cannot read both
|
||||||
|
password and data from stdin` unless the password is passed in some other
|
||||||
|
way (such as `--restic-password-file`, `RESTIC_PASSWORD`, etc).
|
||||||
|
|
||||||
Fatal: cannot read both password and data from stdin
|
To enter the password interactively a password command has to be used. For
|
||||||
|
example on Linux, `mysqldump somedatabase | restic backup --stdin
|
||||||
unless the password is passed in some other way (--restic-password-file,
|
--password-command='sh -c "systemd-ask-password < /dev/tty"'` securely reads
|
||||||
RESTIC_PASSWORD, etc.). To enter the password interactively, a password
|
the password from the terminal.
|
||||||
command has to be used. For example, on Linux,
|
|
||||||
|
|
||||||
mysqldump somedatabase |
|
|
||||||
restic backup --stdin \
|
|
||||||
--password-command='sh -c "systemd-ask-password < /dev/tty"'
|
|
||||||
|
|
||||||
securely reads the password from the terminal.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2591
|
https://github.com/restic/restic/issues/2591
|
||||||
https://github.com/restic/restic/pull/4011
|
https://github.com/restic/restic/pull/4011
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Bugfix: Restore symbolic links on windows
|
Enhancement: Support restoring symbolic links on Windows
|
||||||
|
|
||||||
We've added support to restore symbolic links on windows.
|
The `restore` command now supports restoring symbolic links on Windows. Because
|
||||||
Because of windows specific restrictions this is only possible when running
|
of Windows specific restrictions this is only possible when running restic with
|
||||||
restic having SeCreateSymbolicLinkPrivilege privilege or when running as admin.
|
the `SeCreateSymbolicLinkPrivilege` privilege or as an administrator.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/1078
|
https://github.com/restic/restic/issues/1078
|
||||||
https://github.com/restic/restic/issues/2699
|
https://github.com/restic/restic/issues/2699
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
Enhancement: Stricter repository lock handling
|
Enhancement: Stricter repository lock handling
|
||||||
|
|
||||||
Restic commands kept running even if they failed to refresh their locks in
|
Previously, restic commands kept running even if they failed to refresh their
|
||||||
time. This can be a problem if a concurrent call to `unlock` and `prune`
|
locks in time. This could be a problem e.g. in case the client system running
|
||||||
removes data from the repository. Not refreshing a lock in time can for example
|
a backup entered the standby power mode while the backup was still in progress
|
||||||
be caused by a client switching to standby while running a backup.
|
(which would prevent the client from refreshing its lock), and after a short
|
||||||
|
delay another host successfully runs `unlock` and `prune` on the repository,
|
||||||
|
which would remove all data added by the in-progress backup. If the backup
|
||||||
|
client later continues its backup, even though its lock had expired in the
|
||||||
|
meantime, this would lead to an incomplete snapshot.
|
||||||
|
|
||||||
Lock handling is now much stricter. Commands requiring a lock are canceled if
|
To address this, lock handling is now much stricter. Commands requiring a lock
|
||||||
the lock is not refreshed successfully in time.
|
are canceled if the lock is not refreshed successfully in time. In addition,
|
||||||
|
if a lock file is not readable restic will not allow starting a command. It may
|
||||||
In addition, if a lock file is not readable restic will not allow starting a
|
be necessary to remove invalid lock files manually or use `unlock --remove-all`.
|
||||||
command. It may be necessary to remove invalid lock file manually or using
|
Please make sure that no other restic processes are running concurrently before
|
||||||
`unlock --remove-all`. Please make sure that no other restic processes are
|
doing this, however.
|
||||||
running concurrently.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2715
|
https://github.com/restic/restic/issues/2715
|
||||||
https://github.com/restic/restic/pull/3569
|
https://github.com/restic/restic/pull/3569
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Change: Include full snapshot ID in JSON output of the bacukp command
|
Change: Include full snapshot ID in JSON output of `backup`
|
||||||
|
|
||||||
We have changed the JSON output of the backup command to include the full snapshot ID instead of just a shortened version.
|
We have changed the JSON output of the backup command to include the full
|
||||||
The latter can be ambiguous in rare cases.
|
snapshot ID instead of just a shortened version, as the latter can be ambiguous
|
||||||
|
in some rare cases. To derive the short ID, please truncate the full ID down to
|
||||||
To derive the short ID, truncate the full ID down to 8 characters.
|
eight characters.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2724
|
https://github.com/restic/restic/issues/2724
|
||||||
https://github.com/restic/restic/pull/3993
|
https://github.com/restic/restic/pull/3993
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Enhancement: Add support for `credential_process` to S3 backend
|
Enhancement: Add support for `credential_process` to S3 backend
|
||||||
|
|
||||||
We have updated the library used for the S3 backend. This adds support for the
|
Restic now uses a newer library for the S3 backend, which adds support for the
|
||||||
`credential_process` option in the aws credential configuration.
|
`credential_process` option in the AWS credential configuration.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3029
|
https://github.com/restic/restic/issues/3029
|
||||||
https://github.com/restic/restic/issues/4034
|
https://github.com/restic/restic/issues/4034
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Enhancement: Support mount command on macOS using macFUSE 4.x
|
Enhancement: Make `mount` command support macOS using macFUSE 4.x
|
||||||
|
|
||||||
We have switched to a different version of the fuse library used to mount
|
Restic now uses a different FUSE library for mounting snapshots and making them
|
||||||
snapshots. This adds support for macFUSE 4.x which is necessary for recent
|
available as a FUSE filesystem using the `mount` command. This adds support for
|
||||||
macOS versions.
|
macFUSE 4.x which can be used to make this work on recent macOS versions.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3096
|
https://github.com/restic/restic/issues/3096
|
||||||
https://github.com/restic/restic/pull/4024
|
https://github.com/restic/restic/pull/4024
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Enhancement: Support json output for the `init` command
|
Enhancement: Support JSON output for the `init` command
|
||||||
|
|
||||||
The `init` command ignored the `--json` flag. It now outputs a JSON message if
|
The `init` command used to ignore the `--json` option, but now outputs a JSON
|
||||||
the repository was created successfully.
|
message if the repository was created successfully.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3124
|
https://github.com/restic/restic/issues/3124
|
||||||
https://github.com/restic/restic/pull/3132
|
https://github.com/restic/restic/pull/3132
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
Bugfix: Reliably delete files on Backblaze B2
|
Bugfix: Delete files on Backblaze B2 more reliably
|
||||||
|
|
||||||
Restic used to only delete the latest version of files stored in B2. In most
|
Restic used to only delete the latest version of files stored in B2. In most
|
||||||
cases this works well as there is only a single version. However, due to
|
cases this worked well as there was only a single version of the file. However,
|
||||||
retries while uploading it is possible for multiple file versions to be stored
|
due to retries while uploading it is possible for multiple file versions to be
|
||||||
at B2. This can lead to various problems if files still exist that should have
|
stored at B2. This could lead to various problems for files that should have
|
||||||
been deleted.
|
been deleted but still existed.
|
||||||
|
|
||||||
We have changed the implementation to delete all of them. This doubles the
|
The implementation has now been changed to delete all versions of files, which
|
||||||
number of Class B transactions necessary to delete files.
|
doubles the amount of Class B transactions necessary to delete files, but
|
||||||
|
assures that no file versions are left behind.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3161
|
https://github.com/restic/restic/issues/3161
|
||||||
https://github.com/restic/restic/pull/3885
|
https://github.com/restic/restic/pull/3885
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
Bugfix: SFTP backend now checks for disk space
|
Bugfix: Make SFTP backend report no space left on device
|
||||||
|
|
||||||
A backup to an SFTP backend would spew repeated SSH_FX_FAILURE messages when
|
Backing up to an SFTP backend would spew repeated SSH_FX_FAILURE messages when
|
||||||
the remote disk is full. Restic now reports "sftp: no space left on device"
|
the remote disk was full. Restic now reports "sftp: no space left on device"
|
||||||
and exits immediately when it detects this condition.
|
and exits immediately when it detects this condition.
|
||||||
|
|
||||||
A fix for this issue was promised in restic 0.12.1, but the fix itself
|
A fix for this issue was implemented in restic 0.12.1, but unfortunately the
|
||||||
contained a bug that prevented it from triggering.
|
fix itself contained a bug that prevented it from taking effect.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3336
|
https://github.com/restic/restic/issues/3336
|
||||||
https://github.com/restic/restic/pull/3345
|
https://github.com/restic/restic/pull/3345
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
Bugfix: Improve handling of interrupted syscalls in `mount` command
|
Bugfix: Improve handling of interrupted syscalls in `mount` command
|
||||||
|
|
||||||
Accessing restic's fuse mount could result in "input / output" errors when
|
Accessing restic's FUSE mount could result in "input/output" errors when using
|
||||||
using programs in which syscalls can be interrupted. This is for example the
|
programs in which syscalls can be interrupted. This is for example the case for
|
||||||
case for go programs.
|
Go programs. This has now been fixed by improved error handling of interrupted
|
||||||
|
syscalls.
|
||||||
We have corrected the error handling for interrupted syscalls.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3567
|
https://github.com/restic/restic/issues/3567
|
||||||
https://github.com/restic/restic/issues/3694
|
https://github.com/restic/restic/issues/3694
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Bugfix: Fix stuck `copy` command when setting backend connections to 1
|
Bugfix: Fix stuck `copy` command when `-o <backend>.connections=1`
|
||||||
|
|
||||||
When calling the copy command using `copy -o <backend>.connections=1` this
|
When running the `copy` command with `-o <backend>.connections=1` the
|
||||||
caused the command to be stuck permanently. This has been fixed.
|
command would be infinitely stuck. This has now been fixed.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3897
|
https://github.com/restic/restic/issues/3897
|
||||||
https://github.com/restic/restic/pull/3898
|
https://github.com/restic/restic/pull/3898
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
Bugfix: Correct prune statistics for partially compressed repositories
|
Bugfix: Correct prune statistics for partially compressed repositories
|
||||||
|
|
||||||
In a partially compressed repository, one data blob can exist both in an
|
In a partially compressed repository, one data blob can exist both in an
|
||||||
uncompressed and a compressed version. This caused the prune statistics to
|
uncompressed and a compressed version. This caused the `prune` statistics to
|
||||||
become inaccurate and for example report a too high value for the unused size:
|
become inaccurate and e.g. report a too high value for the unused size, such
|
||||||
|
as "unused size after prune: 16777215.991 TiB". This has now been fixed.
|
||||||
> unused size after prune: 16777215.991 TiB
|
|
||||||
|
|
||||||
This has been fixed.
|
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3918
|
https://github.com/restic/restic/issues/3918
|
||||||
https://github.com/restic/restic/pull/3980
|
https://github.com/restic/restic/pull/3980
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
Enhancement: Only display the message if there were locks to be removed
|
Change: Make `unlock` display message only when locks were actually removed
|
||||||
|
|
||||||
`restic unlock` now only shows `successfully removed locks` if there were locks to be removed.
|
The `unlock` command used to print the "successfully removed locks" message
|
||||||
In addition, it also reports the number of the removed lock files.
|
whenever it was run, regardless of lock files having being removed or not.
|
||||||
|
|
||||||
|
This has now been changed such that it only prints the message if any lock
|
||||||
|
files were actually removed. In addition, it also reports the number of
|
||||||
|
removed lock files.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3929
|
https://github.com/restic/restic/issues/3929
|
||||||
https://github.com/restic/restic/pull/3935
|
https://github.com/restic/restic/pull/3935
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Enhancement: Improve handling of ErrDot errors in rclone and sftp backends
|
Enhancement: Improve handling of ErrDot errors in rclone and sftp backends
|
||||||
|
|
||||||
Since Go 1.19, restic can no longer implicitly run relative executables which
|
Since Go 1.19, restic can no longer implicitly run relative executables which
|
||||||
are found in the current directory (e.g. `rclone` if it's found in `.`). This
|
are found in the current directory (e.g. `rclone` if found in `.`). This is a
|
||||||
is a security feature of Go to prevent against running unintended and possibly
|
security feature of Go to prevent against running unintended and possibly
|
||||||
harmful executables.
|
harmful executables.
|
||||||
|
|
||||||
The error message for this was just "cannot run executable found relative to
|
The error message for this was just "cannot run executable found relative to
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Bugfix: Backup no longer hangs on Solaris when seeing a FIFO file
|
Bugfix: Make `backup` no longer hang on Solaris when seeing a FIFO file
|
||||||
|
|
||||||
Restic backup used to hang on Solaris whenever it encountered a FIFO file
|
The `backup` command used to hang on Solaris whenever it encountered a FIFO
|
||||||
(named pipe), due to a bug in the extended attribute handling. This bug has
|
file (named pipe), due to a bug in the handling of extended attributes. This
|
||||||
been fixed.
|
bug has now been fixed.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/4003
|
https://github.com/restic/restic/issues/4003
|
||||||
https://github.com/restic/restic/pull/4053
|
https://github.com/restic/restic/pull/4053
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Bugfix: Support ExFAT-formatted local backends on macOS Ventura
|
Bugfix: Support ExFAT-formatted local backends on macOS Ventura
|
||||||
|
|
||||||
ExFAT-formatted disks could not be used as local backends starting from macOS
|
ExFAT-formatted disks could not be used as local backends starting from macOS
|
||||||
Ventura. Restic commands would fail with "inappropriate ioctl for device". This
|
Ventura. Restic commands would fail with an "inappropriate ioctl for device"
|
||||||
has been fixed.
|
error. This has now been fixed.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/4016
|
https://github.com/restic/restic/issues/4016
|
||||||
https://github.com/restic/restic/pull/4021
|
https://github.com/restic/restic/pull/4021
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
Change: copy command no longer prints skipped existing snapshots by default
|
Change: Don't print skipped snapshots by default in `copy` command
|
||||||
|
|
||||||
Restic copy always printed each skipped snapshot that existed on the remote and
|
The `copy` command used to print each snapshot that was skipped because it
|
||||||
would bury the snapshots that were copied amongst the output. The new default
|
already existed in the target repository. The amount of this output could
|
||||||
only outputs new copies. Increase the verbose level to see skipped existing
|
practically bury the list of snapshots that were actually copied.
|
||||||
snapshots.
|
|
||||||
|
From now on, the skipped snapshots are by default not printed at all, but
|
||||||
|
this can be re-enabled by increasing the verbosity level of the command.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/4033
|
https://github.com/restic/restic/issues/4033
|
||||||
https://github.com/restic/restic/pull/4066
|
https://github.com/restic/restic/pull/4066
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
Bugfix: Restic init ignores "Access Denied" errors when creating an S3 bucket
|
Bugfix: Make `init` ignore "Access Denied" errors when creating S3 buckets
|
||||||
|
|
||||||
In restic 0.9.0 through 0.13.0, some permission errors from S3 backends where ignored
|
In restic 0.9.0 through 0.13.0, the `init` command ignored some permission
|
||||||
when trying to check the bucket existence, so that manually created buckets with custom permissions
|
errors from S3 backends when trying to check for bucket existence, so that
|
||||||
could be used for backups. This feature was broken in 0.14.0, but is now restored.
|
manually created buckets with custom permissions could be used for backups.
|
||||||
|
|
||||||
|
This feature became broken in 0.14.0, but has now been restored again.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/4085
|
https://github.com/restic/restic/issues/4085
|
||||||
https://github.com/restic/restic/pull/4086
|
https://github.com/restic/restic/pull/4086
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
Bugfix: fix restic dump of tar file with 32-bit binary
|
Bugfix: Don't generate negative UIDs and GIDs in tar files from `dump`
|
||||||
|
|
||||||
When using a 32-bit build of restic, the `restic dump` command could in some
|
When using a 32-bit build of restic, the `dump` command could in some cases
|
||||||
cases create tar files containing negative uid and gid. These files cannot be
|
create tar files containing negative UIDs and GIDs, which cannot be read by
|
||||||
read by gnu tar. This corner case especially applies to backups from stdin on Windows.
|
GNU tar. This corner case especially applies to backups from stdin on Windows.
|
||||||
We have changed the dump command to create valid tar files in this case.
|
|
||||||
|
This is now fixed such that `dump` creates valid tar files in these cases too.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/4103
|
https://github.com/restic/restic/issues/4103
|
||||||
https://github.com/restic/restic/pull/4104
|
https://github.com/restic/restic/pull/4104
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
Enhancement: Restore files with many zeros as sparse files
|
Enhancement: Restore files with long runs of zeros as sparse files
|
||||||
|
|
||||||
When using `restore --sparse`, the restorer may now write files containing long
|
When using `restore --sparse`, the restorer may now write files containing long
|
||||||
runs of zeros as sparse files (also called files with holes): the zeros are not
|
runs of zeros as sparse files (also called files with holes), where the zeros
|
||||||
actually written to disk.
|
are not actually written to disk.
|
||||||
|
|
||||||
How much space is saved by writing sparse files depends on the operating
|
How much space is saved by writing sparse files depends on the operating
|
||||||
system, file system and the distribution of zeros in the file.
|
system, file system and the distribution of zeros in the file.
|
||||||
|
|
||||||
During backup restic still reads the whole file including sparse regions. We
|
During backup restic still reads the whole file including sparse regions, but
|
||||||
have optimized the processing speed of sparse regions.
|
with optimized processing speed of sparse regions.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/79
|
https://github.com/restic/restic/issues/79
|
||||||
https://github.com/restic/restic/issues/3903
|
https://github.com/restic/restic/issues/3903
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
Enhancement: Make backup file read concurrency configurable
|
Enhancement: Make backup file read concurrency configurable
|
||||||
|
|
||||||
The `backup` command now supports a `--read-concurrency` flag to allowing
|
The `backup` command now supports a `--read-concurrency` option which allows
|
||||||
tuning restic for very fast storage like NVME disks.
|
tuning restic for very fast storage like NVMe disks by controlling the number
|
||||||
|
of concurrent file reads during the backup process.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/2750
|
https://github.com/restic/restic/pull/2750
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
Bugfix: Make sure that symlinks can be created during recovery
|
Bugfix: Make `restore` replace existing symlinks
|
||||||
|
|
||||||
When restoring a symlink, restic reported an error if the target path already existed.
|
When restoring a symlink, restic used to report an error if the target path
|
||||||
With this change, the potentially existing target path is first removed before the symlink is recreated.
|
already existed. This has now been fixed such that the potentially existing
|
||||||
|
target path is first removed before the symlink is restored.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/2578
|
https://github.com/restic/restic/issues/2578
|
||||||
https://github.com/restic/restic/pull/3780
|
https://github.com/restic/restic/pull/3780
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
Enhancement: Optimize prune memory usage
|
Enhancement: Optimize prune memory usage
|
||||||
|
|
||||||
The prune command requires large amounts of memory to determine what to keep and what to remove. That step has been optimized to use up to 30% less memory.
|
The `prune` command needs large amounts of memory in order to determine what to
|
||||||
|
keep and what to remove. This is now optimized to use up to 30% less memory.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3899
|
https://github.com/restic/restic/pull/3899
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Enhancement: Improve speed of parent snapshot searching for `backup` command
|
Enhancement: Improve speed of parent snapshot detection in `backup` command
|
||||||
|
|
||||||
Backing up a large number of files using `--files-from-verbatim` or `--files-from-raw`
|
Backing up a large number of files using `--files-from-verbatim` or `--files-from-raw`
|
||||||
options could require a long time to find the parent snapshot. This has been improved.
|
options could require a long time to find the parent snapshot. This has been improved.
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
Enhancement: add compression statistics to the restic stats command
|
Enhancement: Add compression statistics to the `stats` command
|
||||||
|
|
||||||
When executed in `raw-data` mode on a repository that supports compression, the `restic stats`
|
When executed with `--mode raw-data` on a repository that supports compression,
|
||||||
command now calculates and displays, for the selected repository or snapshots, the uncompressed
|
the `stats` command now calculates and displays, for the selected repository or
|
||||||
size of the data, the compression progress (percentage of data that has been compressed), the
|
snapshots: the uncompressed size of the data; the compression progress
|
||||||
compression ratio of the compressed data and the total space saving, taking into account both
|
(percentage of data that has been compressed); the compression ratio of the
|
||||||
the compressed and uncompressed data if the repository is only partially compressed.
|
compressed data; the total space saving.
|
||||||
|
|
||||||
|
It also takes into account both the compressed and uncompressed data if the
|
||||||
|
repository is only partially compressed.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3915
|
https://github.com/restic/restic/pull/3915
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Enhancement: Provide command completion for powershell
|
Enhancement: Provide command completion for PowerShell
|
||||||
|
|
||||||
Restic allows generation of completion files for bash, fish and zsh. Now powershell
|
Restic already provided generation of completion files for bash, fish and zsh.
|
||||||
is supported, too.
|
Now powershell is supported, too.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3925/files
|
https://github.com/restic/restic/pull/3925/files
|
@ -1,8 +1,10 @@
|
|||||||
Enhancement: Allow backup file tree scanner to be disabled
|
Enhancement: Allow `backup` file tree scanner to be disabled
|
||||||
|
|
||||||
Restic walks the file tree in a separate scanner process to find the total size
|
The `backup` command walks the file tree in a separate scanner process to find
|
||||||
and file/directory count, and uses that to provide an ETA. This can slow down
|
the total size and file/directory count, and uses this to provide an ETA. This
|
||||||
backups, especially of network filesystems. The new flag `--no-scan`
|
can slow down backups, especially of network filesystems.
|
||||||
can be used to speed up such backups.
|
|
||||||
|
The command now has a new option `--no-scan` which can be used to disable this
|
||||||
|
scanning in order to speed up backups when needed.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3931
|
https://github.com/restic/restic/pull/3931
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Enhancement: Ignore additional files in repository
|
Enhancement: Ignore additional/unknown files in repository
|
||||||
|
|
||||||
Some commands like `find` and `restore` could become confused by additional
|
If a restic repository had additional files in it (not created by restic),
|
||||||
files in the repository. This could cause restic to fail with an `multiple IDs
|
commands like `find` and `restore` could become confused and fail with an
|
||||||
with prefix "12345678" found` error. These commands now ignore additional
|
`multiple IDs with prefix "12345678" found` error. These commands now
|
||||||
files.
|
ignore such additional files.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3943
|
https://github.com/restic/restic/pull/3943
|
||||||
https://forum.restic.net/t/which-protocol-should-i-choose-for-remote-linux-backups/5446/17
|
https://forum.restic.net/t/which-protocol-should-i-choose-for-remote-linux-backups/5446/17
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
Bugfix: `ls` returns exit code 1 if snapshot cannot be loaded
|
Bugfix: Make `ls` return exit code 1 if snapshot cannot be loaded
|
||||||
|
|
||||||
If the `ls` command failed to load a snapshot, it only printed a warning and
|
The `ls` command used to show a warning and return exit code 0 when failing
|
||||||
returned exit code 0. This has been changed to return exit code 1 instead.
|
to load a snapshot. This has now been fixed such that it instead returns exit
|
||||||
|
code 1 (still showing a warning).
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/3951
|
https://github.com/restic/restic/pull/3951
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Enhancement: Improve backup performance for small files
|
Enhancement: Improve `backup` performance for small files
|
||||||
|
|
||||||
When backing up small files restic was slower than it could be. In particular
|
When backing up small files restic was slower than it could be. In particular
|
||||||
this affected backups using maximum compression.
|
this affected backups using maximum compression.
|
||||||
|
|
||||||
This has been fixed by reworking the internal parallelism of the backup
|
This has been fixed by reworking the internal parallelism of the backup
|
||||||
command.
|
command, making it back up small files around two times faster.
|
||||||
|
|
||||||
https://github.com/restic/restic/issues/3955
|
https://github.com/restic/restic/pull/3955
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Change: Update dependencies and require Go 1.18 or newer
|
Change: Update dependencies and require Go 1.18 or newer
|
||||||
|
|
||||||
We've updated most dependencies. Since some libraries require newer language
|
Most dependencies have been updated. Since some libraries require newer language
|
||||||
features, we're dropping support for Go 1.15 - 1.17, which means that restic now
|
features, support for Go 1.15-1.17 has been dropped, which means that restic now
|
||||||
requires at least Go 1.18 to build.
|
requires at least Go 1.18 to build.
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/4041
|
https://github.com/restic/restic/pull/4041
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
Bugfix: Restore self-update to disabled-by-default
|
Bugfix: Make `self-update` enabled by default only in release builds
|
||||||
|
|
||||||
Due to a typo, the `self-update` feature was always compiled, even if the
|
The `self-update` command was previously included by default in all builds of
|
||||||
`selfupdate` tag was not explicitly enabled.
|
restic as opposed to only in official release builds, even if the `selfupdate`
|
||||||
|
tag was not explicitly enabled when building.
|
||||||
|
|
||||||
As intended, it is now disabled by default.
|
This has now been corrected, and the `self-update` command is only available
|
||||||
Official builds using `build.go` continue to explicitly enable it.
|
if restic was built with `-tags selfupdate` (as done for official release
|
||||||
|
builds by `build.go`).
|
||||||
|
|
||||||
https://github.com/restic/restic/pull/4100
|
https://github.com/restic/restic/pull/4100
|
||||||
|
Loading…
Reference in New Issue
Block a user