1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-01-03 05:35:58 +00:00
Commit graph

166 commits

Author SHA1 Message Date
Thomas Waldmann
a891559578
files cache improvements, fixes #8385, fixes #5658
- changes to locally stored files cache:

  - store as files.<H(archive_name)>
  - user can manually control suffix via env var
  - if local files cache is not found, build from previous archive.
- enable rebuilding the files cache via loading the previous
  archive's metadata from the repo (better than starting with
  empty files cache and needing to read/chunk/hash all files).
  previous archive == same archive name, latest timestamp in repo.
- remove AdHocCache (not needed any more, slow)
- remove BORG_CACHE_IMPL, we only have one
- remove cache lock (this was blocking parallel backups to same
  repo from same machine/user).

Cache entries now have ctime AND mtime.

Note: TTL and age still needed for discarding removed files.
      But due to the separate files caches per series, the TTL
      was lowered to 2 (from 20).
2024-09-20 00:40:49 +02:00
Thomas Waldmann
78c7aabbb6
docs: fix usage docs and references for repo-* commands 2024-09-08 18:06:26 +02:00
Thomas Waldmann
ace97fadec
docs: updates / removing outdated stuff 2024-09-08 12:00:50 +02:00
Thomas Waldmann
d6a70f48f2
remove LocalCache
Note: this is the default cache implementation in borg 1.x,
it worked well, but there were some issues:

- if the local chunks cache got out of sync with the repository,
  it needed an expensive rebuild from the infos in all archives.
- to optimize that, a local chunks.archive.d cache was used to
  speed that up, but at the price of quite significant space needs.

AdhocCacheWithFiles replaced this with a non-persistent chunks cache,
requesting all chunkids from the repository to initialize a simplified
non-persistent chunks index, that does not do real refcounting and also
initially does not have size information for pre-existing chunks.

We want to move away from precise refcounting, LocalCache needs to die.
2024-09-07 22:00:31 +02:00
Thomas Waldmann
43a20b052e
add ConnectionBrokenWithHint for BrokenPipeErrors and similar, see #7016
no traceback, but error message and specific exit code.
2024-02-20 00:17:55 +01:00
Thomas Waldmann
45815554ce
check_can_create_repository: deal with PermissionErrors, see #7016
borg init calls this. If there is a PermissionError, it is
usually fs permission issue at path or its parent directory.

Don't give a traceback, but rather an error msg and a specific exit code.
2024-02-20 00:07:43 +01:00
Thomas Waldmann
83c069ce5a
better error msg for corrupted key data, fixes #8016 2024-02-19 19:23:48 +01:00
Thomas Waldmann
5caf747011
update frontends.rst error/warning list 2024-02-15 18:17:18 +01:00
Thomas Waldmann
97dd287584
raise BackupOSError subclasses 2024-02-15 17:53:53 +01:00
Thomas Waldmann
9ac4672254
add NotFoundWarning 2024-02-15 17:04:21 +01:00
Thomas Waldmann
5168a97782
extend errorlist script to warnings, update docs 2024-02-14 02:04:44 +01:00
Thomas Waldmann
c704e5ea9e
new warnings infrastructure to support modern exit codes
- implement updating exit code based on severity, including modern codes
- extend print_warning with kwargs wc (warning code) and wt (warning type)
- update a global warnings_list with warning_info elements
- create a class hierarchy below BorgWarning class similar to Error class
- diff: change harmless warnings about speed to rc == 0
- delete --force --force: change harmless warnings to rc == 0

Also:

- have BackupRaceConditionError as a more precise subclass of BackupError
2024-02-14 01:26:12 +01:00
Thomas Waldmann
b18e613627
get rid of some rare error classes, use RTError instead 2024-02-13 23:44:02 +01:00
Thomas Waldmann
9de07ebd46
update "modern" error RCs (docs and code) 2024-02-13 22:58:02 +01:00
Thomas Waldmann
74c34ba7c6
docs: update security docs about new one-step KDF 2023-12-02 20:35:16 +01:00
Sophie Herold
cdc6154200 docs: Add "check.rebuild_refcounts" message 2023-11-09 21:32:01 +01:00
Thomas Waldmann
bd1d734591
docs: removed TAMs, introduce typed repo objects 2023-09-24 20:11:00 +02:00
Thomas Waldmann
96c3c90230
docs: remove hint about item_keys in manifest 2023-07-04 23:46:53 +02:00
Thomas Waldmann
ddd93c5828
docs: remove --chunker-params hint to borg < 1.0 2023-07-04 23:41:17 +02:00
Thomas Waldmann
856d98c72f
document another way to get UTF-8 encoding on stdin/stdout/stderr, fixes #2273 2023-02-01 15:32:29 +01:00
Thomas Waldmann
bf667170a7
ArchiveItem.cmdline list-of-str -> .command_line str, fixes #7246
Same change for .recreate_cmdline -> .recreate_command_line .

JSON output key "command_line":
borg 1.x: sys.argv [list of str]
borg 2: shlex.join(sys.argv) [str]
2023-01-20 00:19:00 +01:00
Thomas Waldmann
1672aee031
Item: symlinks: rename .source to .target, fixes #7245
Also, in JSON:
- rename "linktarget" to "target" for symlinks
- remove "source" for symlinks
2023-01-16 20:28:25 +01:00
Thomas Waldmann
8765e62bcd
document how borg deals with non-unicode bytes in JSON output 2023-01-16 17:45:46 +01:00
Paul D
253d8e8d4e Docs grammar fixes
joined split infinitives, and relocated adverbs appropriately.
2022-12-29 22:26:54 +00:00
Paul D
a85b643866 Docs grammar fixes.
One cannot "to not x", but one can "not to x".
Avoiding split infinitives gives the added bonus that machine
translation yields better results.

setup (n/adj) vs set(v) up. We don't "I setup it" but "I set it up".

Likewise for login(n/adj) and log(v) in, backup(n/adj) and back(v) up.
2022-12-29 00:01:48 +00:00
Thomas Waldmann
c8830cde44 update docs 2022-09-08 22:26:23 +02:00
TW
c2bcecf2eb
Merge pull request #6942 from mh4ckt3mh4ckt1c4s/doc-shift-odg
update diagrams to odg format, fixes #6928
2022-08-09 22:03:09 +02:00
mh4ckt3mh4ckt1c4s
15a450c7e8 Fix transparency level 2022-08-09 21:20:44 +02:00
mh4ckt3mh4ckt1c4s
259d3fdc76 Tiny fix of transparency bug 2022-08-09 19:33:30 +02:00
mh4ckt3mh4ckt1c4s
be9e99e346 Fix size of images to match old ones 2022-08-09 19:21:16 +02:00
mh4ckt3mh4ckt1c4s
3e40f68409 Added the transparency thing to compaction schema 2022-08-09 19:15:09 +02:00
mh4ckt3mh4ckt1c4s
45663552bf Updated compaction to an odg file 2022-08-07 22:13:33 +02:00
Thomas Waldmann
8148d4e400 fix sphinx warnings 2022-08-07 19:14:03 +02:00
mh4ckt3mh4ckt1c4s
cd27313693 Changed structure schema to odg format 2022-08-07 00:55:22 +02:00
mh4ckt3mh4ckt1c4s
085b244bb7 Removed object-graph.vdg and added 'simplified' mention in schema 2022-08-07 00:25:31 +02:00
Thomas Waldmann
fb74fdb710 massively increase per archive metadata stream size limit, fixes #1473
implemented by introducing one level of indirection, the limit is now
very high, so it is not practically relevant any more.

we always use the indirection (storing the metadata stream chunk ids list not
directly into the archive item, but into some repo objects referenced by the new
ArchiveItem.item_ptrs list).

thus, the code behaves the same for all archive sizes.
2022-08-06 19:01:41 +02:00
mh4ckt3mh4ckt1c4s
7ed3fad470 Updated object-graph to an odg file 2022-08-06 11:32:32 +02:00
Thomas Waldmann
f621b21ec1 docs: update security.rst 2022-08-03 22:19:28 +02:00
Thomas Waldmann
d5df53732d increase Key.version to 2
Old borg (< 2.0) can not read/process the new keys that have crypt_key instead of enc_key and enc_hmac_key.
2022-08-03 12:25:58 +02:00
Thomas Waldmann
89e4a52c56 docs: misc. updates
- remove outdated stuff
- fix infos for borg 2.0
2022-08-03 11:35:25 +02:00
Jonas Schäfer
33b846e292 docs: update encryption drawing for new compression bytes
Since compression type identification has been split into type and
level, the graphic needed a slight update.

Unfortunately, I don't have access to Visio, so I converted this to odg.
2022-07-30 19:24:26 +02:00
Jonas Schäfer
c8ab490017 docs: provide more details on object layout
While writing my own out-of-band decoder, I had a hard time figuring out
how to unpack the manifest. From the description, I was only able to
read that the manifest is msgpack'd, but I had not been able to figure
out that it's also going through the same encryption+compression logic
as all other things do.

This should make it a little clearer and provide the necessary
information to understand how the compression works.
2022-07-30 19:24:26 +02:00
Thomas Waldmann
ad7c7159b2 Merge branch 'master' into borg2 2022-07-27 13:49:50 +02:00
Thomas Waldmann
c7e719f209 docs: update archive_progress json description about "finished", see #6570 2022-07-25 13:05:16 +02:00
a1346054
160dd877ab
fix typos 2022-07-22 15:51:46 +00:00
Thomas Waldmann
9d6c98d9f9 docs: remove _assert_id() call for new crypto 2022-07-20 14:31:37 +02:00
Thomas Waldmann
5e0c4a8fd4 document hlid, fixes #2388 2022-07-05 22:27:08 +02:00
Thomas Waldmann
c7ed985ffd Merge branch 'master' into borg2 2022-07-02 23:28:39 +02:00
Thomas Waldmann
ea4ed6b98f docs: json progress_percent: some values are optional, fixes #4074
in the finished == true message, these are missing:
- message
- current / total
- info

This is to be somewhat consistent with #6683 by only providing a
minimal set of values for the finished case.

The finished messages is primarily intended for cleanup purposes,
e.g. clearing the progress display.
2022-07-01 14:35:44 +02:00
Thomas Waldmann
51cf85e627 build_usage / build_man / doc updates 2022-06-25 21:58:19 +02:00