1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-21 23:33:07 +00:00
Commit graph

8907 commits

Author SHA1 Message Date
TW
e2198abd03
Merge pull request #8439 from ThomasWaldmann/fix-msgpack-max-buffer-size
msgpack: increase max_buffer_size to ~4GiB
2024-10-01 21:24:16 +02:00
Thomas Waldmann
32600793b3
make sure the store gets closed in case of exceptions, fixes #8413 2024-10-01 21:23:29 +02:00
Thomas Waldmann
e251162998
msgpack: increase max_buffer_size to ~4GiB
as borg now uses repository.store_load and .store_save to load
and save the chunks cache, we need a rather high limit here.

this is a quick fix, the real fix might be using chunks of the
data (preferably <= MAX_OBJECT_SIZE), so there is less to unpack
at once.
2024-10-01 19:57:16 +02:00
TW
86c889cfeb
Merge pull request #8437 from ThomasWaldmann/vagrant-updates
Vagrant updates
2024-09-30 20:41:16 +02:00
Thomas Waldmann
358ceab64d
pin pip to 24.1 until #8415 is fixed 2024-09-30 20:09:48 +02:00
Thomas Waldmann
7a0540db7b
vagrant: install rust on *BSD 2024-09-30 17:37:49 +02:00
Thomas Waldmann
c3a63bd2b2
use python 3.12.6 for binary builds 2024-09-30 17:33:06 +02:00
TW
1700c7a4ea
Merge pull request #8435 from ThomasWaldmann/check-archive-timestamp
check: also display archive timestamp
2024-09-29 00:52:23 +02:00
TW
069cbb44ee
Merge pull request #8434 from ThomasWaldmann/levels-config-for-borgstore
give borgstore.Store a complete levels configuration, fixes #8432
2024-09-28 23:05:23 +02:00
Thomas Waldmann
2e37b1a15c
check: also display archive timestamp 2024-09-28 22:58:44 +02:00
Thomas Waldmann
0d269e7f85
give borgstore.Store a complete levels configuration, fixes #8432
also:
- add BORG_STORE_DATA_LEVELS=2 env var
- use BORG_STORE_DATA_LEVELS=0 to speed up tests
2024-09-28 21:16:56 +02:00
TW
156d33e69c
Merge pull request #8429 from ThomasWaldmann/improve-matching
AND-matching also on host, user, tags
2024-09-28 20:42:08 +02:00
Thomas Waldmann
f082df7f33
allow -a / --match-archives multiple times, ANDed
e.g.: borg delete -a home -a user:kenny -a host:kenny-pc
2024-09-27 00:19:15 +02:00
Thomas Waldmann
b8b05141ee
implement --match-archives user:USERNAME host:HOSTNAME 2024-09-26 23:22:11 +02:00
Thomas Waldmann
d30fa6f28e
implement --match-archives tags:TAG1,TAG2,...
also: reduce code duplication
2024-09-26 23:09:23 +02:00
TW
2a01d29cda
Merge pull request #8428 from ThomasWaldmann/tags-fixes
fixes for tags infrastructure PR
2024-09-26 23:02:23 +02:00
Thomas Waldmann
d5b4a696bb
fixes for tags infrastructure PR 2024-09-26 22:41:21 +02:00
TW
70977a323b
Merge pull request #8426 from ThomasWaldmann/archive-tags-metadata
tags: low-level infrastructure for archive tags
2024-09-26 21:24:06 +02:00
TW
9c9a75bdf9
Merge pull request #8421 from ThomasWaldmann/rel200b11
Release 2.0.0 beta11
2024-09-26 20:06:30 +02:00
Thomas Waldmann
89c346b935
tags: low-level infrastructure for archive tags
Read or modify this set, only add validated str to it:

Archive.tags: Optional[set[str]]

borg info [--json] <archive> displays a list of comma-separated archive tags (currently always empty).
2024-09-26 19:16:43 +02:00
TW
3c1f173738
Merge pull request #8422 from ThomasWaldmann/list-more-archive-metadata
List more archive metadata
2024-09-26 17:07:16 +02:00
Thomas Waldmann
9b3a0023c3
repo-list: add hostname/username/comment to default format, reorder, adjust
borg 1.x encouraged users to put everything into the archive name:
- name of the dataset
- timestamp (usually used to make the archive name unique)
- maybe also hostname (when backing up to same repo from multiple hosts)
- maybe also username (when backing up to same repo from multiple users)

borg2 now discourages users from putting the timestamp into the name,
because we rather want same name within a series of archives - thus,
the field width for the name can be narrower.

the ID of the archive is now the only unique identifier, thus it is
moved to the leftmost place.
256bits (64 hex digits) was a bit much and as borg can also deal with
abbreviated IDs, we only show 32bits (8 hex digits) by default.

the ID is followed by the timestamp (also quite "interesting", because
it usually differs for different archives).

then following are: archive name, user name, host name - these might be
always the same if there is only one series of archives in a repo.

use 2 blanks separating the fields for better readability.
2024-09-26 15:53:36 +02:00
Thomas Waldmann
1b680531ee
repo-list --short: only print archive IDs
Needed to change this because listing just the
archive names is pretty useless if names are not
unique.

The short list is likely mostly used by scripts to
iterate over all archives, so outputting IDs is
better.
2024-09-26 09:10:52 +02:00
Thomas Waldmann
fb496bf1b7
build_usage build_man 2024-09-26 07:57:01 +02:00
Thomas Waldmann
439024cba6
update CHANGES 2024-09-26 07:54:38 +02:00
TW
84615385ce
Merge pull request #8420 from ThomasWaldmann/catch-be-error
catch BackendError raised by Store(), see #8373
2024-09-26 07:06:12 +02:00
Thomas Waldmann
628990d32c
fix markup error in change log 2024-09-25 23:53:15 +02:00
Thomas Waldmann
c3038e129d
catch BackendError raised by Store(), see #8373 2024-09-25 23:45:27 +02:00
TW
5be2485627
Merge pull request #8412 from ThomasWaldmann/update-changes
update CHANGES
2024-09-25 23:31:21 +02:00
TW
fa7a935baa
Merge pull request #8419 from ThomasWaldmann/upgrade-pyinstaller
upgrade pyinstaller to 6.10.0, fixes #8366
2024-09-25 23:31:04 +02:00
Thomas Waldmann
328cd22a13
update CHANGES 2024-09-25 23:25:34 +02:00
Thomas Waldmann
ae85f64536
upgrade pyinstaller to 6.10.0 2024-09-25 23:21:32 +02:00
TW
656124e001
Merge pull request #8418 from ThomasWaldmann/update-requirements-locked
update development.lock.txt
2024-09-25 22:48:35 +02:00
TW
fd1a7ddb76
Merge pull request #8417 from ThomasWaldmann/ids-per-chunk
increase IDS_PER_CHUNK, fixes #6945
2024-09-25 22:48:16 +02:00
Thomas Waldmann
1f866ce6c6
update development.lock.txt 2024-09-25 21:14:42 +02:00
Thomas Waldmann
015e3a43aa
increase IDS_PER_CHUNK, fixes #6945 2024-09-25 20:57:28 +02:00
TW
67b62b5989
Merge pull request #8411 from ThomasWaldmann/optimize-repo-list-usage
bugfix: remove superfluous repository.list() call
2024-09-25 11:06:09 +02:00
Thomas Waldmann
1436bbba1a
bugfix: remove superfluous repository.list() call
Because it ended the loop only when .list() returned an
empty result, this always needed one call more than
necessary.

We can also detect that we are finished, if .list()
returns less than the limit we gave to it.

Also: reduce code duplication by using repo_lister func.
2024-09-24 23:43:08 +02:00
TW
7d02fe2b8f
Merge pull request #8403 from ThomasWaldmann/cache-chunkindex
chunks index caching
2024-09-24 23:37:29 +02:00
Thomas Waldmann
36e3d63474
chunks index caching, fixes #8397
borg compact now uses ChunkIndex (a specialized, memory-efficient data structure),
so it needs less memory now. Also, it saves that chunks index to cache/chunks in
the repository.

When the chunks index is needed, it is first tried to get it from cache/chunks.
If that fails, fall back to building the chunks index via repository.list(),
which can be rather slow and immediately cache the resulting ChunkIndex in the
repo.

borg check --repair currently just deletes the chunks cache, because it might
have deleted some invalid chunks in the repo.

cache.close now saves the chunks index to cache/chunks in repo if it
was modified.
thus, borg create will update the cached chunks index with new chunks.

cache/chunks_hash can be used to validate cache/chunks (and also to validate /
invalidate locally cached copies of that).
2024-09-24 22:25:00 +02:00
TW
1e6f71f2f5
Merge pull request #8408 from helmutg/faq-slow-fat
FAQ: Why is backing up an unmodified FAT filesystem slow on Linux?
2024-09-23 13:46:46 +02:00
Helmut Grohne
70f173caa7 FAQ: Why is backing up an unmodified FAT filesystem slow on Linux? 2024-09-23 10:36:56 +02:00
TW
527454840b
Merge pull request #8405 from ThomasWaldmann/support-rclone-borgstore
add support for rclone:// repositories (via borgstore)
2024-09-22 23:27:27 +02:00
Thomas Waldmann
bd6caf835d
add support for rclone:// repositories (via borgstore) 2024-09-22 22:26:07 +02:00
TW
4d8954ecbb
Merge pull request #8404 from ThomasWaldmann/fix-build-files-cache
cache: fix crash in _build_files_cache
2024-09-22 01:34:21 +02:00
Thomas Waldmann
e5e685fd1f
cache: fix crash in _build_files_cache 2024-09-22 00:36:30 +02:00
TW
b862f2b95f
Merge pull request #8389 from ThomasWaldmann/files-cache-from-archive
files cache improvements
2024-09-21 15:17:29 +02:00
Thomas Waldmann
ec9d412756
fix race condition with data loss potential, fixes #3536
we discard all files cache entries referring to files
with timestamps AFTER we started the backup.

so, even in case we would back up an inconsistent file
that has been changed while we backed it up, we would
not have a files cache entry for it and would fully
read/chunk/hash it again in next backup.
2024-09-21 11:34:34 +02:00
Thomas Waldmann
b60378cf0e
fix race condition with data loss potential, fixes #3536
if we detect the conditions for this (rare) race,
abort reading the file and retry.

The caller (_process_any) will do up to MAX_RETRIES
before giving up. If it gives up, a warning is logged
and the file is not written to the archive and won't
be memorized in the files cache either.

Thus, the file will be read/chunked/hashed again at
the next borg create run.
2024-09-21 11:34:31 +02:00
TW
275e5e136c
Merge pull request #8399 from ThomasWaldmann/storelocking-updates
storelocking: fixes / cleanups
2024-09-20 14:28:01 +02:00