Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.0.0 beta11 #8421

Merged
merged 2 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 23 additions & 16 deletions docs/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ Compatibility notes:
Change Log 2.x
==============

Version 2.0.0b11 (2024-xx-xx)
Version 2.0.0b11 (2024-09-26)
-----------------------------

Please note:
Expand All @@ -141,9 +141,16 @@ above.

New features:

- rclone:// borg repositories, this enables 100+ cloud storage providers!
- parallel operations in same repo from same client (same user/machine)
- archive series feature, #7930
- Support rclone:// URLs for borg repositories.

This enables 70+ cloud storage products, including Amazon S3, Backblaze B2,
Ceph, Dropbox, ftp(s), Google Cloud Storage, Google Drive, Microsoft Azure,
Microsoft OneDrive, OpenStack Swift, pCloud, Seafile, sftp, SMB / CIFS and
WebDAV!

See https://rclone.org/ for more details.
- Parallel operations in same repo from same client (same user/machine).
- Archive series feature, #7930.

TL;DR: a NAME now identifies a series of identically named archives,
to identify a specific single archive, use aid:<archive hash>.
Expand All @@ -164,12 +171,12 @@ New features:
- borg delete aid:<archive hash>
- create: also archive inode number, #8362

borg can use this when using archive series to rebuild the local files cache
Borg can use this when using archive series to rebuild the local files cache
from the previous archive (of the same series) in the repository.

Fixes:

- bugfix: remove superfluous repository.list() call. for high latency repos
- Remove superfluous repository.list() call. for high latency repos
(like sftp, cloud), this improves performance of borg check and compact.
- repository.list: refresh lock more frequently
- misc. commands fixed for non-unique archive names
Expand All @@ -179,18 +186,18 @@ Fixes:

Other changes:

- cache the chunks index in the repository, #8397.
improves high latency repo performance for most commands compared to b10.
- Cache the chunks index in the repository, #8397.
Improves high latency repo performance for most commands compared to b10.
- repo-compress: faster by using chunks index rather than repository.list().
- files cache entries now have ctime AND mtime.
borg updates the ctime and mtime of known and "unchanged" files, #4915.
- rebuild files cache from previous archive in same series, #8385.
- reduce RAM usage by splitting the files cache by archive series, #5658.
- remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
- docs: user@ and :port are optional in sftp and ssh URLs.
- Files cache entries now have both ctime AND mtime.
- Borg updates the ctime and mtime of known and "unchanged" files, #4915.
- Rebuild files cache from previous archive in same series, #8385.
- Reduce RAM usage by splitting the files cache by archive series, #5658.
- Remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
- Docs: user@ and :port are optional in sftp and ssh URLs.
- CI: re-enable windows build after fixing it.
- upgrade pyinstaller to 6.10.0
- increase IDS_PER_CHUNK, #6945q
- Upgrade pyinstaller to 6.10.0.
- Increase IDS_PER_CHUNK, #6945.


Version 2.0.0b10 (2024-09-09)
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-benchmark-cpu.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-BENCHMARK-CPU" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-BENCHMARK-CPU" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-benchmark-cpu \- Benchmark CPU bound operations.
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-benchmark-crud.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-BENCHMARK-CRUD" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-BENCHMARK-CRUD" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-benchmark.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-BENCHMARK" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-BENCHMARK" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-benchmark \- benchmark command
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-break-lock.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-BREAK-LOCK" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-BREAK-LOCK" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-check.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-CHECK" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-CHECK" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-check \- Check repository consistency
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-common.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-COMMON" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-COMMON" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-common \- Common options of Borg commands
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-compact.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-COMPACT" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-COMPACT" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-compact \- Collect garbage in repository
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-compression.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-COMPRESSION" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-COMPRESSION" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-compression \- Details regarding compression
.SH DESCRIPTION
Expand Down
29 changes: 12 additions & 17 deletions docs/man/borg-create.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-CREATE" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-CREATE" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-create \- Create new archive
.SH SYNOPSIS
Expand All @@ -53,7 +53,9 @@ stdin\fP below for details.
The archive will consume almost no disk space for files or parts of files that
have already been stored in other archives.
.sp
The archive name needs to be unique.
The archive name does NOT need to be unique, you can and should use the same
name for a series of archives. The unique archive identifier is its ID (hash)
and you can abbreviate the ID as long as it is unique.
.sp
In the archive name, you may use the following placeholders:
{now}, {utcnow}, {fqdn}, {hostname}, {user} and some others.
Expand Down Expand Up @@ -153,9 +155,6 @@ only display items with the given status characters (see description)
.B \-\-json
output stats as JSON. Implies \fB\-\-stats\fP\&.
.TP
.B \-\-prefer\-adhoc\-cache
experimental: prefer AdHocCache (w/o files cache) over AdHocWithFilesCache (with files cache).
.TP
.BI \-\-stdin\-name \ NAME
use NAME in archive for stdin data (default: \(aqstdin\(aq)
.TP
Expand Down Expand Up @@ -283,18 +282,18 @@ $ borg create my\-files \e
# /home/<one directory>/.thumbnails is excluded, not /home/*/*/.thumbnails etc.)
$ borg create my\-files /home \-\-exclude \(aqsh:home/*/.thumbnails\(aq

# Backup the root filesystem into an archive named \(dqroot\-YYYY\-MM\-DD\(dq
# Backup the root filesystem into an archive named \(dqroot\-archive\(dq
# use zlib compression (good, but slow) \- default is lz4 (fast, low compression ratio)
$ borg create \-C zlib,6 \-\-one\-file\-system root\-{now:%Y\-%m\-%d} /
$ borg create \-C zlib,6 \-\-one\-file\-system root\-archive /

# Backup into an archive name like FQDN\-root\-TIMESTAMP
$ borg create \(aq{fqdn}\-root\-{now}\(aq /
# Backup into an archive name like FQDN\-root
$ borg create \(aq{fqdn}\-root\(aq /

# Backup a remote host locally (\(dqpull\(dq style) using sshfs
$ mkdir sshfs\-mount
$ sshfs root@example.com:/ sshfs\-mount
$ cd sshfs\-mount
$ borg create example.com\-root\-{now:%Y\-%m\-%d} .
$ borg create example.com\-root .
$ cd ..
$ fusermount \-u sshfs\-mount

Expand Down Expand Up @@ -323,17 +322,13 @@ $ borg create \-\-compression lzma,N arch ~
# Only compress compressible data with lzma,N (N = 0..9)
$ borg create \-\-compression auto,lzma,N arch ~

# Use short hostname, user name and current time in archive name
$ borg create \(aq{hostname}\-{user}\-{now}\(aq ~
# Similar, use the same datetime format that is default as of borg 1.1
$ borg create \(aq{hostname}\-{user}\-{now:%Y\-%m\-%dT%H:%M:%S}\(aq ~
# As above, but add nanoseconds
$ borg create \(aq{hostname}\-{user}\-{now:%Y\-%m\-%dT%H:%M:%S.%f}\(aq ~
# Use short hostname and user name as archive name
$ borg create \(aq{hostname}\-{user}\(aq ~

# Backing up relative paths by moving into the correct directory first
$ cd /home/user/Documents
# The root directory of the archive will be \(dqprojectA\(dq
$ borg create \(aqdaily\-projectA\-{now:%Y\-%m\-%d}\(aq projectA
$ borg create \(aqdaily\-projectA\(aq projectA

# Use external command to determine files to archive
# Use \-\-paths\-from\-stdin with find to back up only files less than 1MB in size
Expand Down
17 changes: 13 additions & 4 deletions docs/man/borg-delete.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-DELETE" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-DELETE" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-delete \- Delete archives
.SH SYNOPSIS
.sp
borg [common options] delete [options]
borg [common options] delete [options] [NAME]
.SH DESCRIPTION
.sp
This command deletes archives from the repository.
Expand All @@ -48,6 +48,12 @@ see \fIborg_patterns\fP).
.SH OPTIONS
.sp
See \fIborg\-common(1)\fP for common options of Borg commands.
.SS arguments
.INDENT 0.0
.TP
.B NAME
specify the archive name
.UNINDENT
.SS optional arguments
.INDENT 0.0
.TP
Expand Down Expand Up @@ -90,11 +96,14 @@ consider archives newer than (now \- TIMESPAN), e.g. 7d or 12m.
.sp
.nf
.ft C
# delete a single backup archive:
$ borg delete \-a Monday
# delete all backup archives named \(dqkenny\-files\(dq:
$ borg delete \-a kenny\-files
# actually free disk space:
$ borg compact

# delete a specific backup archive using its unique archive ID prefix
$ borg delete aid:d34db33f

# delete all archives whose names begin with the machine\(aqs hostname followed by \(dq\-\(dq
$ borg delete \-a \(aqsh:{hostname}\-*\(aq

Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-diff.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-DIFF" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-DIFF" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-diff \- Diff contents of two archives
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-export-tar.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-EXPORT-TAR" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-EXPORT-TAR" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-export-tar \- Export archive contents as a tarball
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-extract.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-EXTRACT" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-EXTRACT" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-extract \- Extract archive contents
.SH SYNOPSIS
Expand Down
6 changes: 3 additions & 3 deletions docs/man/borg-import-tar.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-IMPORT-TAR" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-IMPORT-TAR" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-import-tar \- Create a backup archive from a tarball
.SH SYNOPSIS
Expand Down Expand Up @@ -170,9 +170,9 @@ Outputs a script that copies all archives from repo1 to repo2:
.sp
.nf
.ft C
for A T in \(gaborg list \-\-format=\(aq{archive} {time:%Y\-%m\-%dT%H:%M:%S}{NL}\(aq\(ga
for N I T in \(gaborg list \-\-format=\(aq{archive} {id} {time:%Y\-%m\-%dT%H:%M:%S}{NL}\(aq\(ga
do
echo \(dqborg \-r repo1 export\-tar \-\-tar\-format=BORG $A \- | borg \-r repo2 import\-tar \-\-timestamp=$T $A \-\(dq
echo \(dqborg \-r repo1 export\-tar \-\-tar\-format=BORG aid:$I \- | borg \-r repo2 import\-tar \-\-timestamp=$T $N \-\(dq
done
.ft P
.fi
Expand Down
16 changes: 11 additions & 5 deletions docs/man/borg-info.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-INFO" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-INFO" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-info \- Show archive details such as disk space used
.SH SYNOPSIS
.sp
borg [common options] info [options]
borg [common options] info [options] [NAME]
.SH DESCRIPTION
.sp
This command displays detailed information about the specified archive.
Expand All @@ -48,6 +48,12 @@ All archives / deduplicated size = amount of data stored in the repo
.SH OPTIONS
.sp
See \fIborg\-common(1)\fP for common options of Borg commands.
.SS arguments
.INDENT 0.0
.TP
.B NAME
specify the archive name
.UNINDENT
.SS optional arguments
.INDENT 0.0
.TP
Expand Down Expand Up @@ -87,16 +93,16 @@ consider archives newer than (now \- TIMESPAN), e.g. 7d or 12m.
.sp
.nf
.ft C
$ borg info Tuesday2022\-06\-25T20:51:39
Archive name: Tuesday2022\-06\-25T20:51:39
$ borg info aid:f7dea078
Archive name: source\-backup
Archive fingerprint: f7dea0788dfc026cc2be1c0f5b94beb4e4084eb3402fc40c38d8719b1bf2d943
Comment:
Hostname: mba2020
Username: tw
Time (start): Sat, 2022\-06\-25 20:51:40
Time (end): Sat, 2022\-06\-25 20:51:40
Duration: 0.03 seconds
Command line: /Users/tw/w/borg\-env/bin/borg \-r path/to/repo create \-\-stats \(aqTuesday{now}\(aq src \-\-progress
Command line: /usr/bin/borg \-r path/to/repo create source\-backup src
Utilization of maximum supported archive size: 0%
Number of files: 244
Original size: 13.80 MB
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-key-change-location.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-KEY-CHANGE-LOCATION" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-KEY-CHANGE-LOCATION" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-key-change-location \- Change repository key location
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-key-change-passphrase.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-KEY-CHANGE-PASSPHRASE" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-KEY-CHANGE-PASSPHRASE" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-key-change-passphrase \- Change repository key file passphrase
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-key-export.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-KEY-EXPORT" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-KEY-EXPORT" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-key-export \- Export the repository key for backup
.SH SYNOPSIS
Expand Down
2 changes: 1 addition & 1 deletion docs/man/borg-key-import.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "BORG-KEY-IMPORT" 1 "2024-09-09" "" "borg backup tool"
.TH "BORG-KEY-IMPORT" 1 "2024-09-26" "" "borg backup tool"
.SH NAME
borg-key-import \- Import the repository key from backup
.SH SYNOPSIS
Expand Down
Loading
Loading