v0.12.1
版本发布时间: 2021-08-03 18:02:58
restic/restic最新发布版本:v0.17.3(2024-11-09 03:52:25)
We're very pleased to present you restic 0.12.1! restic is distributed as a standalone binary: download the correct file for your operating system and architecture, extract the file and just run it. If you run into any issues, please report them at the GitHub issue tracker or visit the forum. If you already have restic >= 0.9.4, you can use restic self-update
to get the latest version in a secure way.
The binaries released with each restic version are reproducible, which means that you can reproduce a byte identical version from the source code for that release. Instructions on how to do that in the Developer Documentation.
Changelog for restic 0.12.1 (2021-08-03)
The following sections list the changes in restic 0.12.1 relevant to restic users. The changes are ordered by importance.
Summary
- Fix #2742: Improve error handling for rclone and REST backend over HTTP2
- Fix #3111: Fix terminal output redirection for PowerShell
- Fix #3214: Treat an empty password as a fatal error for repository init
- Fix #3267:
copy
failed to copy snapshots in rare cases - Fix #3184:
backup --quiet
no longer prints status information - Fix #3296: Fix crash of
check --read-data-subset=x%
run for an empty repository - Fix #3302: Fix
fdopendir: not a directory
error for local backend - Fix #3334: Print
created new cache
message only on a terminal - Fix #3380: Fix crash of
backup --exclude='**'
- Fix #3305: Fix possibly missing backup summary of JSON output in case of error
- Fix #3439: Correctly handle download errors during
restore
- Chg #3247: Empty files now have size of 0 in
ls --json
output - Enh #2780: Add release binaries for s390x architecture on Linux
- Enh #3293: Add
--repository-file2
option toinit
andcopy
command - Enh #3312: Add auto-completion support for fish
- Enh #3336: SFTP backend now checks for disk space
- Enh #3377: Add release binaries for Apple Silicon
- Enh #3414: Add
--keep-within-hourly
option to restic forget - Enh #3456: Support filtering and specifying untagged snapshots
- Enh #3167: Allow specifying limit of
snapshots
list - Enh #3426: Optimize read performance of mount command
- Enh #3427:
find --pack
fallback to index if data file is missing
Details
-
Bugfix #2742: Improve error handling for rclone and REST backend over HTTP2
When retrieving data from the rclone / REST backend while also using HTTP2 restic did not detect when no data was returned at all. This could cause for example the
check
command to report the following error:Pack ID does not match, want [...], got e3b0c442
This has been fixed by correctly detecting and retrying the incomplete download.
#2742 #3453 https://forum.restic.net/t/http2-stream-closed-connection-reset-context-canceled/3743/10
-
Bugfix #3111: Fix terminal output redirection for PowerShell
When redirecting the output of restic using PowerShell on Windows, the output contained terminal escape characters. This has been fixed by properly detecting the terminal type.
In addition, the mintty terminal now shows progress output for the backup command.
-
Bugfix #3214: Treat an empty password as a fatal error for repository init
When attempting to initialize a new repository, if an empty password was supplied, the repository would be created but the init command would return an error with a stack trace. Now, if an empty password is provided, it is treated as a fatal error, and no repository is created.
-
Bugfix #3267:
copy
failed to copy snapshots in rare casesThe
copy
command could in rare cases fail with the error messageSaveTree(...) returned unexpected id ...
. This has been fixed.On Linux/BSDs, the error could be caused by backing up symlinks with non-UTF-8 target paths. Note that, due to limitations in the repository format, these are not stored properly and should be avoided if possible.
-
Bugfix #3184:
backup --quiet
no longer prints status informationA regression in the latest restic version caused the output of
backup --quiet
to contain large amounts of backup progress information when run using an interactive terminal. This is fixed now.A workaround for this bug is to run restic as follows:
restic backup --quiet [..] | cat -
. -
Bugfix #3296: Fix crash of
check --read-data-subset=x%
run for an empty repositoryThe command
restic check --read-data-subset=x%
crashed when run for an empty repository. This has been fixed. -
Bugfix #3302: Fix
fdopendir: not a directory
error for local backendThe
check
,list packs
,prune
andrebuild-index
commands failed for the local backend when thedata
folder in the repository contained files. This has been fixed. -
Bugfix #3334: Print
created new cache
message only on a terminalThe message
created new cache
was printed even when the output wasn't a terminal. That broke pipingrestic dump
output to tar or zip if cache directory didn't exist. The message is now only printed on a terminal. -
Bugfix #3380: Fix crash of
backup --exclude='**'
The exclude filter
**
, which excludes all files, caused restic to crash. This has been corrected. -
Bugfix #3305: Fix possibly missing backup summary of JSON output in case of error
When using
--json
output it happened from time to time that the summary output was missing in case an error occurred. This has been fixed. -
Bugfix #3439: Correctly handle download errors during
restore
Due to a regression in restic 0.12.0, the
restore
command in some cases did not retry download errors and only printed a warning. This has been fixed by retrying incomplete data downloads. -
Change #3247: Empty files now have size of 0 in
ls --json
outputThe
ls --json
command used to omit the sizes of empty files in its output. It now reports a size of zero explicitly for regular files, while omitting the size field for all other types. -
Enhancement #2780: Add release binaries for s390x architecture on Linux
We've added release binaries for Linux using the s390x architecture.
-
Enhancement #3293: Add
--repository-file2
option toinit
andcopy
commandThe
init
andcopy
command can now be used with the--repository-file2
option or the$RESTIC_REPOSITORY_FILE2
environment variable. These to options are in addition to the--repo2
flag and allow you to read the destination repository from a file.Using both
--repository-file
and--repo2
options resulted in an error for thecopy
orinit
command. The handling of this combination of options has been fixed. A workaround for this issue is to only use--repo
or-r
and--repo2
forinit
orcopy
. -
Enhancement #3312: Add auto-completion support for fish
The
generate
command now supports fish auto completion. -
Enhancement #3336: SFTP backend now checks for disk space
Backing up over SFTP previously spewed multiple generic "failure" messages when the remote disk was full. It now checks for disk space before writing a file and fails immediately with a "no space left on device" message.
-
Enhancement #3377: Add release binaries for Apple Silicon
We've added release binaries for macOS on Apple Silicon (M1).
-
Enhancement #3414: Add
--keep-within-hourly
option to restic forgetThe
forget
command allowed keeping a given number of hourly backups or to keep all backups within a given interval, but it was not possible to specify keeping hourly backups within a given interval.The new
--keep-within-hourly
option now offers this functionality. Similar options for daily/weekly/monthly/yearly are also implemented, the new options are:--keep-within-hourly <1y2m3d4h> --keep-within-daily <1y2m3d4h> --keep-within-weekly <1y2m3d4h> --keep-within-monthly <1y2m3d4h> --keep-within-yearly <1y2m3d4h>
#3414 #3416 https://forum.restic.net/t/forget-policy/4014/11
-
Enhancement #3456: Support filtering and specifying untagged snapshots
It was previously not possible to specify an empty tag with the
--tag
and--keep-tag
options. This has now been fixed, such that--tag ''
and--keep-tag ''
now matches snapshots without tags. This allows e.g. thesnapshots
andforget
commands to only operate on untagged snapshots. -
Enhancement #3167: Allow specifying limit of
snapshots
listThe
--last
option allowed limiting the output of thesnapshots
command to the latest snapshot for each host. The new--latest n
option allows limiting the output to the latestn
snapshots.This change deprecates the option
--last
in favour of--latest 1
. -
Enhancement #3426: Optimize read performance of mount command
Reading large files in a mounted repository may be up to five times faster. This improvement primarily applies to repositories stored at a backend that can be accessed with low latency, like e.g. the local backend.
-
Enhancement #3427:
find --pack
fallback to index if data file is missingWhen investigating a repository with missing data files, it might be useful to determine affected snapshots before running
rebuild-index
. Previously,find --pack pack-id
returned no data as it required accessing the data file. Now, if the necessary data is still available in the repository index, it gets retrieved from there.The command now also supports looking up multiple pack files in a single
find
run.#3427 https://forum.restic.net/t/missing-packs-not-found/2600
1、 restic-0.12.1.tar.gz 22.73MB
2、 restic-0.12.1.tar.gz.asc 833B
3、 restic_0.12.1_aix_ppc64.bz2 5.52MB
4、 restic_0.12.1_darwin_amd64.bz2 6.24MB
5、 restic_0.12.1_darwin_arm64.bz2 6.26MB
6、 restic_0.12.1_freebsd_386.bz2 5.61MB
7、 restic_0.12.1_freebsd_amd64.bz2 5.92MB
8、 restic_0.12.1_freebsd_arm.bz2 5.5MB
9、 restic_0.12.1_linux_386.bz2 5.62MB
10、 restic_0.12.1_linux_amd64.bz2 5.92MB
11、 restic_0.12.1_linux_arm.bz2 5.51MB
12、 restic_0.12.1_linux_arm64.bz2 5.36MB
13、 restic_0.12.1_linux_mips.bz2 5.01MB
14、 restic_0.12.1_linux_mips64.bz2 4.9MB
15、 restic_0.12.1_linux_mips64le.bz2 4.94MB
16、 restic_0.12.1_linux_mipsle.bz2 5.07MB
17、 restic_0.12.1_linux_ppc64le.bz2 5.12MB
18、 restic_0.12.1_linux_s390x.bz2 5.63MB
19、 restic_0.12.1_netbsd_386.bz2 5.52MB
20、 restic_0.12.1_netbsd_amd64.bz2 5.83MB
21、 restic_0.12.1_openbsd_386.bz2 5.52MB
22、 restic_0.12.1_openbsd_amd64.bz2 5.84MB
23、 restic_0.12.1_solaris_amd64.bz2 5.82MB
24、 restic_0.12.1_windows_386.zip 6.31MB
25、 restic_0.12.1_windows_amd64.zip 6.62MB
26、 SHA256SUMS 2.25KB
27、 SHA256SUMS.asc 833B