1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-29 11:16:43 +00:00
Commit graph

323 commits

Author SHA1 Message Date
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
Chen Yufei
7e746e10e7
docs: excluded parent dir's metadata can't restore. (#6062)
docs: if parent dir is not extracted, we do not have its metadata
2022-01-20 02:04:15 +01:00
Reiko Asakura
e38f0b26b0
Workaround for volume shadow copy in WSL1 2021-12-24 15:15:23 -05:00
TW
03ab4dc116
Merge pull request #6085 from hexagonrecursion/fix-build-man
Fix exceptions thrown by `setup.py build_man`
2021-12-10 18:15:20 +01:00
Andrey Bienkowski
dbfef31783
borg serve: improve ssh forced commands docs (#6083)
borg serve: improve ssh forced commands docs

Co-authored-by: Andrey Bienkowski <hexagon-recursion@posteo.net>
2021-12-10 18:11:25 +01:00
Andrey Bienkowski
37e1ae4735 Fix exceptions thrown by setup.py build_man
While doing some doc updates I needed a way to test them - to build
the documentation and inspect the output. I ran into an issue:
running python setup.py build_man was throwing exceptions:

1. The import-tar parser had a None description causing:

    File "/home/user/borg/setup_docs.py", line 451, in write_heading
      write(char * len(header))
    TypeError: object of type 'NoneType' has no len()

2. There was no docs/usage/import-tar.rst causing an exception too
2021-12-10 10:51:26 +03:00
remyabel
e25095364b
docs: clarify pattern usage with commands (#5959)
docs: clarify pattern usage with commands, fixes #5176
2021-08-21 16:02:11 +02:00
Tommy Nguyen
7639465ad4
docs: clarify pp pattern type
Fixes: #5300

This incorporates the comments from `patterns.py` into the documentation
to clarify the difference between `pp` and `pf`.
2021-08-07 07:38:04 -04:00
TW
e6811748b1 Merge pull request #5873 from ThomasWaldmann/disable-selftest-1.1
implement BORG_SELFTEST env variable, fixes #5871
2021-07-03 12:31:13 +02:00
James Buren
4f9e30e980 resolve clarify borg check --verify-data (#5808) 2021-06-18 15:00:14 -05:00
James Buren
8394ae6932 add notice about defective hardware to check documentation (#5753) 2021-06-18 01:26:57 -05:00
Thomas Waldmann
a99ae950c9 build_usage 2021-05-11 22:33:55 +02:00
Robert Blenis
b2dea4422e add --json-lines option to diff command 2021-03-13 11:50:55 -05:00
Thomas Waldmann
e48289e8b7 build_usage 2021-02-06 01:32:02 +01:00
Ryan Polley
83116e58f2
add examples for --paths-from-stdin, --paths-from-command, --paths-separator (#5644)
docs: add examples for --paths-from-stdin, --paths-from-command, --paths-separator
2021-01-27 00:15:14 +01:00
Thomas Waldmann
0984e00d31 revert changes to autogenerated files
this stuff will be auto-generated, regularly done at release time.
2021-01-07 18:08:49 +01:00
Andrea Gelmini
72e7c46fa7 Fix typos 2021-01-07 17:54:33 +01:00
axapaxa
b291b91962
Add remote upload buffer (--remote-buffer) (#5574)
add remote upload buffer (--remote-buffer)

- added new option --remote-buffer
- allow to_send to grow to selected size
- don't grow if wait is specified
- fill pipe on any command (including 'async_response')
- add new option to docs
- create EfficientBytesQueue to prevent recreation of buffer each time we send something
- add tests for EfficientBytesQueue
2021-01-03 17:37:16 +01:00
Thomas Waldmann
b8bb0494f6 create --sparse, file map support for the "fixed" chunker, see #14
a file map can be:

- created internally inside chunkify by calling sparsemap, which uses
  SEEK_DATA / SEEK_HOLE to determine data and hole ranges inside a
  seekable sparse file.
  Usage: borg create --sparse --chunker-params=fixed,BLOCKSIZE ...
  BLOCKSIZE is the chunker blocksize here, not the filesystem blocksize!

- made by some other means and given to the chunkify function.
  this is not used yet, but in future this could be used to only read
  the changed parts and seek over the (known) unchanged parts of a file.

sparsemap: the generate range sizes are multiples of the fs block size.
           the tests assume 4kiB fs block size.
2020-12-27 22:06:08 +01:00
Thomas Waldmann
f75c561e07 docs: add another case of attempted hardlink usage 2020-12-26 00:04:24 +01:00
Thomas Waldmann
3a828bea0b docs: fix description of borg upgrade hardlink usage, fixes #5518 2020-12-26 00:03:34 +01:00
Robin Schneider
fb38ba579f
Use HTTPS everywhere (mechanical edit using util from https-everywhere)
Ref: https://github.com/EFForg/https-everywhere/tree/master/utils/rewriter

```Shell
~/src/EFForg/https-everywhere/utils/rewriter/rewriter.js .
```

A few changes were reset/fixed manually before the commit.
2020-12-22 16:36:40 +01:00
Nehalenniæ Oudin
5017bc4d04
Add a --list switch to borg delete (#5503)
add a --list switch to borg delete, fixes #5116
2020-12-11 19:11:47 +01:00
Thomas Waldmann
4f7aa1a92f build usage 2020-12-06 20:44:59 +01:00
TW
ac77dd491d
Merge pull request #5433 from luke-jr/files_cache_suffix
Allow appending the files cache filename with BORG_FILES_CACHE_SUFFIX env var
2020-11-16 18:51:40 +01:00
Luke Dashjr
561fbb748c docs: Document BORG_FILES_CACHE_SUFFIX environment variable 2020-11-15 17:01:36 +00:00
TW
b05182260c
Merge pull request #5430 from ThomasWaldmann/pyfuse3
add pyfuse3 as an alternative lowlevel fuse implementation
2020-11-02 22:51:17 +01:00
Thomas Waldmann
49b1421682 FUSE: support pyfuse3 additionally to llfuse, fixes #5407
FUSE implementation can be switched via env var BORG_FUSE_IMPL.
2020-10-31 22:04:44 +01:00
Mher Kazandjian
5bcb52db77
add example for excluding content using the --pattern cmd line arg (#5456)
add example for excluding content using the --pattern command line argument
2020-10-28 23:32:40 +01:00
Thomas Waldmann
ab31dc476e build_usage 2020-10-04 20:32:38 +02:00
Thomas Waldmann
8d1ae6f0f7 Revert "add double force"
This reverts commit 6fac203d86.

Fix was applied to an autogenerated file,
it needs to be applied to the builtin help of the borg code.
2020-09-27 23:46:45 +02:00
Alex Vorona
6fac203d86 add double force 2020-08-25 21:27:18 +03:00
TW
303c11f245
rephrase some warnings, fixes #5164 (#5241)
rephrase some warnings, fixes #5164

borg check --repair and borg recreate are now present in the code since rather long, so they are not experimental any more.

borg recreate might be used wrongly (e.g. accidentally excluding everything / not matching anything when recreating an archive). added some warning words in the docs, but it will not ask for confirmation any more.

borg check: there might be kinds of corruption borg check --repair can not fix and it might make things even worse while trying to fix. so this will still ask for confirmation, just with different wording.
2020-07-10 19:26:18 +02:00
Thomas Portmann
dfc5e915cc
Fixed locking, issue #4923 (#4928)
locking: fix ExclusiveLock race condition bug, fixes #4923

- ExclusiveLock is now based on os.rename instead of os.mkdir.
- catch FileNotFoundError observed under race condition in ExclusiveLock.release()
  and .kill_stale_lock()
- added TestExclusiveLock.test_race_condition() which reveals issue #4923
- updated docs
- locking: use "raise LockTimeout from None" for prettier traceback

Co-authored-by: Thomas Portmann <thomas@portmann.org>
Co-authored-by: Thomas Waldmann <tw@waldmann-edv.de>
2020-07-03 10:09:32 +02:00
TW
7033d5054f
Merge pull request #5226 from ThomasWaldmann/server-enforces-umask
--umask is for the local borg process only, fixes #4947
2020-06-28 14:58:41 +02:00
Thomas Waldmann
c531901763 --umask is for the local borg process only, fixes #4947
The umask value is NOT transmitted from client to server any more,
so the borg client can not influence the borg server umask any more.

If one wants to have a specific umask on the server side, one needs to
use a ssh forced command in .ssh/authorized_keys file.

OTOH, as the default value is 077 (in general, for client as well as for
the server) and the server does not take the value from the client any more,
there usually should be no need to give it on the server side, IF you are
happy with the default value.
2020-06-14 18:35:03 +02:00
Matthew Glazar
5a32de918e allow key-import+BORG_KEY_FILE to create key files
Running 'borg key import' on a keyfile repository with the BORG_KEY_FILE
environment variable set works correctly if the BORG_KEY_FILE file
already exists. However, the command crashes if the BORG_KEY_FILE file
does not exist:

    $ BORG_KEY_FILE=newborgkey borg key import /home/strager/borg-backups/straglum borgkey
    Local Exception
    Traceback (most recent call last):
      [snip]
      File "[snip]/borg/crypto/key.py", line 713, in sanity_check
        with open(filename, 'rb') as fd:
    FileNotFoundError: [Errno 2] No such file or directory: '[snip]/newborgkey'

    Platform: Linux straglum 5.0.0-25-generic #26~18.04.1-Ubuntu SMP Thu Aug 1 13:51:02 UTC 2019 x86_64
    Linux: debian buster/sid
    Borg: 1.1.11  Python: CPython 3.7.7 msgpack: 0.5.6
    PID: 15306  CWD: /home/strager/Projects/borg
    sys.argv: ['[snip]/borg', 'key', 'import', '/home/strager/borg-backups/straglum', 'borgkey']
    SSH_ORIGINAL_COMMAND: None

Make 'borg key import' not require the BORG_KEY_FILE file to already
exist.

This commit does not change the behavior of 'borg key import' without
BORG_KEY_FILE. This commit also does not change the behavior of 'borg
key import' on a repokey repository.
2020-06-04 19:29:15 -07:00
Thomas Waldmann
17220e09ab build_usage 2020-04-21 22:56:55 +02:00
Thomas Waldmann
b5d6e23d84 docs: clarify borg init's encryption modes 2020-04-16 21:35:33 +02:00
Thomas Waldmann
56c599e6dc build_usage 2020-04-12 19:51:49 +02:00
TW
c867ebfeb6
Merge pull request #5048 from finefoot/patch-8
Option to bypass locking to use sensible borg commands with read-only repositories
2020-04-11 22:18:37 +02:00
finefoot
e49a17143d Add option to bypass locking mechanism 2020-04-11 17:04:52 +02:00
Thomas Waldmann
888949c641 Improve description of path variables
Original commit by @finefoot, re-applied due to merge conflict.
2020-04-01 18:54:45 +02:00