Commit graph

365 commits

Author SHA1 Message Date
Thomas Waldmann
414f18a354
docs: better link modern return codes, fixes #8370 2024-10-05 14:12:53 +02:00
Thomas Waldmann
4b7ab4f087
build_usage / build_man 2024-10-03 12:30:58 +02:00
Thomas Waldmann
e274860983
tag: set, add, remove tags 2024-10-02 23:52:39 +02:00
Thomas Waldmann
ecd0cd07e2
docs: fix typo 2024-10-02 17:28:21 +02:00
Thomas Waldmann
940ec7b455
docs: point to rclone docs 2024-10-02 17:27:42 +02:00
Thomas Waldmann
de439ee839
analyze: sum up changed chunks per parent directory 2024-10-02 16:14:44 +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
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
fb496bf1b7
build_usage build_man 2024-09-26 07:57:01 +02:00
Thomas Waldmann
bd6caf835d
add support for rclone:// repositories (via borgstore) 2024-09-22 22:26:07 +02:00
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
1bc5902718
docs: update about archive series
in borg 1.x, we used to put a timestamp into the archive name to make
it unique, because borg1 required that.

borg2 does not require unique archive names, but it encourages you
to even use an identical archive name within the same SERIES of archives.
that makes matching (e.g. for prune, but also at other places) much
simpler and borg KNOWS which archives belong to the same series.
2024-09-18 14:05:12 +02:00
Thomas Waldmann
82a1d38bcc
docs: user@ and :port are optional in sftp and ssh URLs 2024-09-17 10:01:33 +02:00
Thomas Waldmann
3ff33684c6
remove "borg config" docs
the config command was already removed before.
2024-09-09 13:42:31 +02:00
Thomas Waldmann
78c7aabbb6
docs: fix usage docs and references for repo-* commands 2024-09-08 18:06:26 +02:00
Thomas Waldmann
04dfadbbd6
cli: rename r* commands to repo-*
also:
- adapt tests
- adapt BuildMan manpage generation
- adapt help strings / doc strings
- docs
2024-09-08 18:06:24 +02:00
Thomas Waldmann
b50ed04ffc
build_usage / build_man 2024-09-08 12:02:17 +02:00
Thomas Waldmann
22b68b0199
add sftp: to repository url format docs 2024-09-07 22:01:16 +02:00
Thomas Waldmann
c2890efdd1
docs: update the repository filesystem docs
In the end, it will all depend on the borgstore backend that will be used,
so we better point to the borgstore project for details.
2024-09-07 22:00:52 +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
Dominik Tugend
e715b9f5af Add TIMESPAN to doc
- Closes borgbackup/borg#8310
2024-07-30 23:49:50 +02:00
Thomas Waldmann
edfca29b97
build_usage / build_man 2024-07-19 20:40:15 +02:00
Thomas Waldmann
6211a3dc79
key export: move examples to docs 2024-07-19 19:44:38 +02:00
Thomas Waldmann
ecddbc6691
make BORG_EXIT_CODES="modern" the default. 2024-07-19 17:31:36 +02:00
Thomas Waldmann
619a06a5ba
BORG_CACHE_IMPL defaults to "adhocwithfiles" now
Also: support a "cli" env var value, that does not determine
the implementation from the env var, but rather from cli options (similar to as it was before adding BORG_CACHE_IMPL).
2024-07-18 22:51:17 +02:00
Thomas Waldmann
5a500cddf8
rename NewCache -> AdHocWithFilesCache 2024-07-18 22:14:00 +02:00
Thomas Waldmann
616af8daa8
BORG_CACHE_IMPL environment variable added
BORG_CACHE_IMPL allows users to choose the client-side cache implementation from 'local', 'newcache' and 'adhoc'.
2024-07-15 12:45:16 +02:00
William Bonnaventure
de5d130dda Update docs for BORG_USE_CHUNKS_ARCHIVE 2024-07-13 21:26:18 +02:00
Thomas Waldmann
3160f5063a
build_usage 2024-02-20 17:11:43 +01:00
Thomas Waldmann
e7bd18d7f3
create: add the slashdot hack, fixes #4685 2024-02-20 04:08:09 +01:00
Thomas Waldmann
9de07ebd46
update "modern" error RCs (docs and code) 2024-02-13 22:58:02 +01:00
Thomas Waldmann
38ba1c383a
docs: do not refer to setup.py installation method
Invoking setup.py is deprecated.
2024-02-09 17:37:40 +01:00
Thomas Waldmann
b64f6e3335
scripts/gendocs.py: make it work
remove unused html_write function

gendocs: update developer docs
2024-02-09 17:37:38 +01:00
Łukasz Stelmach
c68a158ffb linux: use pkgconfig to find libacl
Using pkgconfig gives a more meaningful error message in case libacl
development files are missing.
2023-10-24 15:00:21 +02:00
Thomas Waldmann
3f75950226
build_usage / build_man 2023-09-14 15:52:08 +02:00
Thomas Waldmann
e9e74a1113
docs: fix borg delete examples, fixes #7759 2023-08-26 14:51:27 +02:00
Thomas Waldmann
3051473168
BORG_WORKAROUNDS=authenticated_no_key to extract from authenticated repos without key, fixes #7700 2023-07-20 17:17:28 +02:00
Thomas Waldmann
8db8fd601b
docs: OS X -> macOS 2023-07-04 23:59:44 +02:00
Thomas Waldmann
ddd93c5828
docs: remove --chunker-params hint to borg < 1.0 2023-07-04 23:41:17 +02:00
Thomas Waldmann
89cfd083ba
docs: minor fixes/update to notes 2023-07-04 23:36:41 +02:00
Thomas Waldmann
84b1ad6948
docs: remove info about borg 1.0 files per dir 2023-07-04 23:32:36 +02:00
Tim Düsterhus
a6f452a050 Improve the documentation for --keep-within
Move the explanation below the general explanation of the `--keep-*` option
behavior rephrase the last sentence to make it clear that it works like the
other options that were explained in the previous paragraph.

Resolves #7687
2023-06-30 15:23:07 +02:00
Thomas Waldmann
81c3cb957e
list: fix --pattern examples, fixes #7611
- pattern needs to start with + - !
- first match wins
- the default is to list everything, thus a 2nd pattern
  is needed to exclude everything not matched by 1st pattern.
2023-06-29 23:04:21 +02:00
Thomas Waldmann
70602bda52
build_usage 2023-06-11 23:09:20 +02:00
Thomas Waldmann
7878a34fd4
add get_runtime_dir / BORG_RUNTIME_DIR, tests, docs 2023-06-06 11:58:48 +02:00
Thomas Waldmann
c8996aaf12
BORG_DATA_DIR / BORG_SECURITY_DIR docs update 2023-05-18 12:48:47 +02:00
Thomas Waldmann
8e6c504654
docs: fix some -a / --match-archives issues
at some places, the docs were not updated yet.

for borg 1.x, -a (aka --glob-archives) expected
sh: style glob patterns ONLY (but one must not
give sh: explicitly).

for borg 2, -a (aka --match-archives) defaults
to id: style (identical match), so one must give
sh: if one wants shell-style globbing.
2023-05-16 00:50:50 +02:00
Thomas Waldmann
9f4f2b42e3
implement BORG_<CMD>_FORMAT env vars, fixes #5166
for now for: prune, list, rlist.
2023-04-08 00:53:53 +02:00
Thomas Waldmann
d6e3d36ce1
BORG_KEY_FILE: clarify docs, fixes #7444 2023-03-22 18:17:29 +01:00
Thomas Waldmann
52b9f8e7e9
build_usage 2023-02-26 21:32:42 +01:00
Thomas Waldmann
54892f711d
key change-passphrase: fix --encryption value in examples
"repokey" (as in borg < 2.0, referring to the AES-CTR mode)
does not exist any more and was superseded by other repokey-*
modes.
2023-01-16 17:58:50 +01:00
Helmut Grohne
e210c6c053 delete left over documentation for borg key change-algorithm 2023-01-13 13:20:49 +01:00
Thomas Waldmann
43cbe6d8b6
remove BORG_LIBB2_PREFIX (not used any more)
the code now uses hashlib.blake2b from python stdlib.
2023-01-10 14:10:34 +01:00
Thomas Waldmann
b5ff043ac1
build_usage 2023-01-03 00:36:59 +01:00
Paul D
8ada680c87 'Want' fixes
aka who are you to presume what I want?
2022-12-29 22:26:55 +00: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
Rayyan Ansari
66a407ff9f Use \n for the {NL} format specifier
\n is automatically converted on write to the platform-dependent os.linesep.
Using os.linesep instead of \n means that on Windows, the line ending becomes "\r\r\n".
Also switches mentions of {LF} to {NL} in code and docs.
2022-12-18 14:05:24 +00:00
Thomas Waldmann
4d2eb06ed3
build_usage 2022-11-26 22:23:17 +01:00
Thomas Waldmann
3f159ca3bb build_man / build_usage 2022-10-02 15:51:17 +02:00
Thomas Waldmann
5d8d21df4d rcompress docs / examples / markup fixes 2022-10-02 15:50:41 +02:00
Thomas Waldmann
e57ff29f22 BORG_LOCK_WAIT=n env var to set default for --lock-wait option, fixes #5279 2022-09-27 17:09:19 +02:00
Thomas Waldmann
18ca2ab3ce build_usage build_man 2022-09-10 18:15:45 +02:00
Thomas Waldmann
f5b7ae5b30 build_usage build_man 2022-08-07 19:20:34 +02:00
Thomas Waldmann
c7c7690b26 build_man build_usage 2022-08-03 22:19:12 +02:00
Thomas Waldmann
c3345fe423 remove remainders of borg key migrate-to-repokey 2022-08-03 21:48:55 +02:00
Thomas Waldmann
78230dd299 docs: key: fix keyfile mode in example 2022-08-03 18:46:50 +02:00
Thomas Waldmann
bcd7ab3dec docs: rcreate: explain "related repo" 2022-08-03 18:20:10 +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
Thomas Waldmann
357aa5241b build_usage / build_man 2022-07-17 09:23:06 +02:00
Thomas Waldmann
47c2672a64 ssh:// URLs: remove support for /~otheruser/, see #6855
If you used this, just replace it by:

ssh://user@host:port/home/otheruser/
2022-07-15 16:02:45 +02:00
Thomas Waldmann
dbb63f874b docs: fix rst literal blocks 2022-07-05 00:38:37 +02:00
Thomas Waldmann
6fa8d11ecc build_usage ; build_man 2022-07-04 14:09:19 +02:00
Thomas Waldmann
6888d5dcb2 remove -P (aka --prefix) option, fixes #6806
-a (aka --glob-archives) can be used for same purpose and is more powerful.
2022-07-02 20:52:41 +02:00
Thomas Waldmann
0a7baa53c4 docs: fix borg transfer formatting / rendering, fixes #6800 2022-06-26 20:29:10 +02:00
Thomas Waldmann
e2f7087aa8 docs: remove reference to borg upgrade 2022-06-26 20:09:54 +02:00
Thomas Waldmann
9680538a70 fix rendering of list/rlist help 2022-06-26 20:08:38 +02:00
Thomas Waldmann
ab25bf8175 build_usage build_man 2022-06-26 13:56:33 +02:00
Thomas Waldmann
3232cb4a7e transfer: add a specific transfer example 2022-06-26 01:22:28 +02:00
Thomas Waldmann
dbae8e60eb remove borg upgrade 2022-06-26 00:25:44 +02:00
Thomas Waldmann
51cf85e627 build_usage / build_man / doc updates 2022-06-25 21:58:19 +02:00
Thomas Waldmann
e0c64629d1 Merge branch 'master' into borg2
strange conflicts, automated patches seemed to not have applied correctly.
also had to fix some stuff manually, tests were failing.
2022-06-23 11:25:01 +02:00
Thalian
b4d3859b9e #6407 - Document Borg 1.2 pattern behavior change
Make clear that absolute paths always go into the matcher as if they are relative (without leading slash). Adapt all examples accordingly.

fixes #6407
2022-05-27 14:13:12 +02:00
Thomas Waldmann
61299d23db Revert "Remove scp syntax for locations (#6697)"
This reverts commit 1b4b84dfd8.
2022-05-18 17:31:10 +02:00
Thomas Waldmann
6bfdb3f630 refactor hardlink_master processing globally
borg now has the chunks list in every item with content.
due to the symmetric way how borg now deals with hardlinks using
item.hlid, processing gets much simpler.

but some places where borg deals with other "sources" of hardlinks
still need to do some hardlink management:
borg uses the HardLinkManager there now (which is not much more
than a dict, but keeps documentation at one place and avoids some
code duplication we had before).

item.hlid is computed via hardlink_id function.

support hardlinked symlinks, fixes #2379
as we use item.hlid now to group hardlinks together,
there is no conflict with the item.source usage for
symlink targets any more.

2nd+ hardlinks now add to the files count as did the 1st one.
for borg, now all hardlinks are created equal.
so any hardlink item with chunks now adds to the "file" count.

ItemFormatter: support {hlid} instead of {source} for hardlinks
2022-05-18 14:20:01 +02:00
Emil M George
1b4b84dfd8
Remove scp syntax for locations (#6697)
remove scp syntax support from cli and from Location parser, add note about converting scp-style URLs to ssh-style, fixes #6691
2022-05-15 21:55:19 +02:00
ReethuVinta
ac4666d7f4
documented workaround for getting help for sub-sub-commands (#6346)
docs: how to get help for sub-sub-commands
2022-05-13 18:29:43 +02:00
Thomas Waldmann
0cf97dc6db build_usage 2022-04-17 00:07:12 +02:00
Thomas Waldmann
d7fe23c515 python setup.py build_usage 2022-04-14 21:25:12 +02:00
Andrey Andreyevich Bienkowski
08f82ee408
Argon2: documentation and changelog (#6560)
docs: borg key change-algorithm
docs: borg init --key-algorithm
docs: "this is not a borg repo" can be due to argon2 and old borg
2022-04-11 11:21:07 +02:00
Thomas Waldmann
e8069a8f80 import/export-tar: --tar-format=BORG: roundtrip ALL item metadata, fixes #5830
export-tar: just msgpack and b64encode all item metadata and
            put that into a BORG specific PAX header.
            this is *additional* to the standard tar metadata.

import-tar: when detecting the BORG specific PAX header, just get
            all metadata from there (and ignore the standard tar
            metadata).
2022-04-02 22:25:44 +02:00
Thomas Waldmann
a91dd04d11 docs: usage: add benchmark cpu and key change-location 2022-03-26 23:40:03 +01:00
Thomas Waldmann
ce247526c2 docs: update borg init examples 2022-03-26 17:05:57 +01:00
Thomas Waldmann
37f237d3e0 remove PassphraseKey code and borg key migrate-to-repokey command
"passphrase" encryption mode repos can not be created since borg 1.0.
back then, users were advised to switch existing repos of that type
to repokey mode using the "borg key migrate-to-repokey" command.
that command is still available in borg 1.0, 1.1 and 1.2, but not
any more in borg >= 1.3.

while we still might see the PassphraseKey.TYPE byte in old repos,
it is handled by the RepoKey code since borg 1.0.
2022-03-06 15:26:18 +01:00
Thomas Waldmann
9a8eec6af1 build_usage 2022-02-19 18:47:47 +01:00
Thomas Waldmann
b430c8d15a build_usage 2022-02-05 17:52:25 +01:00
Thomas Waldmann
6c517e4c25 docs: FUSE "versions" view is not experimental any more 2022-01-31 21:01:49 +01:00
Thomas Waldmann
c643210741 docs: fix tar-related doc structure 2022-01-23 17:16:20 +01:00
Thomas Waldmann
572e996d9a build_usage 2022-01-23 15:52:21 +01:00
Thomas Waldmann
78f0f3518e remove leftovers of BORG_HOSTNAME_IS_UNIQUE from docs
thanks to @snsmac for the hint: there is no code implementing this any more. it was replaced by
BORG_HOST_ID (if needed).
2022-01-20 23:38:43 +01:00