Commit Graph

256 Commits

Author SHA1 Message Date
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
Thalian 08a7661e67 [FEATURE] #4489 – Deprecate --nobsdflags option
Replaced by --noflags. In internal data structure the key 'bsdflags' is kept for backwards compatibility.
2020-03-25 06:35:15 +01:00
Thalian abd81b2ebe Fix broken indent of a list item
This prevents Sphinx WARNING: Bullet list ends without a blank line; unexpected unindent.
2020-03-22 15:17:21 +01:00
Thalian 19563b968e [DOCS] #4587 – Make Sphinx warnings break docs build
Improve / clean up to trigger CI tests again.
2020-03-20 12:01:52 +01:00
Thalian 19aa9825a8 [DOCS] #4587 – Make Sphinx warnings break docs build
general.rst and man_intro.rst both included usage_general.rst.inc, which resulted in three Sphinx warning "WARNING: duplicate label".
To prevent this we move all sections of usage_general into own include files and add a second usage_general file without the three labels.
2020-03-16 19:22:59 +01:00
Thalian 0359b97cce [DOCS] #4587 – Make Sphinx warnings break docs build
Prevent warnings of type "checking consistency... WARNING: document isn't included in any toctree" by using the :orphan: directive.
2020-03-16 19:06:00 +01:00
Ioannis Cherouvim 76a3dca3db Typo fix (neccessary -> necessary). 2019-09-21 08:59:50 +03:00
Thomas Waldmann 102068bfeb build_usage 2019-09-07 00:27:17 +02:00
ntova 627ca1376b Fix various code blocks in the docs (#4708)
Fix various code blocks in the docs

- rst markup: put codeblock markup on separate line to make it better visible / separate it from normal text colons.

- borg help texts in archiver.py: put codeblock markup instead of colon - that way it looks like a single colon when using the cli help and also works as code block markup.
2019-08-09 23:13:11 +02:00
Stefan Majewsky fc2c92b054 add a push-style example to borg-create(1) (#4613)
add a push-style example to borg-create docs

When I browsed the readthedocs and manpages while setting up Borg for
myself for the first time, I saw multiple hints that pushing backups via
SSH is supported (e.g. the existence of the `borg serve` command and the
`--rsh` option), but I never found a clear example. I only found
<https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls>
after being pointed to it by @ThomasWaldmann.

Therefore, an explicit example in the `borg create` documentation seems
appropriate. I put it next to the pull-style example using sshfs which
serves a similar usecase.
2019-08-09 22:46:57 +02:00
ntova c2ae9673b4 docs: benchmark crud: clarify that space is used until compact 2019-07-28 15:29:44 +02:00
Tiago Donato 8db4106150
Update documentation of borg create
Corrects a mention of borg 1.1 as a future version.
2019-07-15 21:53:30 -05:00
Joachim Breitner b86aaa606d
RST syntax fix in docs 2019-07-09 10:23:33 +02:00
Elmar Hoffmann d2595065b4 fix spelling 2019-06-15 13:19:43 +02:00
Thomas Waldmann dc8077acba remove superfluous whitespace in docs 2019-06-09 14:45:18 +02:00
Thomas Waldmann 3082b1f1eb compact: move --cleanup-commits description from examples to docs 2019-05-06 23:10:07 +02:00
Thomas Waldmann 1f527464ab build_usage 2019-04-22 18:00:28 +02:00
Mike ef90cda43a Add "SSH Configuration" section (#4493)
Add "SSH Configuration" section

Add "SSH Configuration" section to "borg serve" documentation, to outline ssh/sshd configuration to prevent borg serve keeping a lock on a repo in the event the ssh connection is abnormally disconnected.

In response to issues #3988, #636 and #4485 (and probably others).
2019-04-08 21:10:26 +02:00
Thomas Waldmann 9c380405a2 build_usage 2019-03-21 21:11:18 +01:00
Thomas Waldmann 9507856049 build_usage 2019-03-11 00:11:16 +01:00
TW d7c6399396
Merge pull request #4384 from milkey-mouse/append-only-docs-3504
Elaborate on append-only mode docs
2019-03-10 15:04:23 +01:00
Thomas Waldmann 7ad5290501 redo stale lock handling, fixes #3986
drop BORG_HOSTNAME_IS_UNIQUE (please use BORG_HOST_ID if needed)

borg now always assumes it has a unique hostid - either automatically
from fqdn plus uuid.getnode() or overridden via BORG_HOST_ID.
2019-03-04 21:07:05 +01:00
Thomas Waldmann bece7e8090 build_usage 2019-02-24 20:39:42 +01:00
Milkey Mouse cb2b86274e
Elaborate on append-only mode docs 2019-02-22 19:05:29 -08:00
Thomas Waldmann 7f46eb99aa update docs about fixed chunker and chunker algo spec needed 2019-02-13 06:30:13 +01:00
Thomas Waldmann a8d52351bb update man pages / usage docs 2018-07-14 14:56:29 +02:00
Thomas Waldmann e6fcf4ea42 update docs about separated compaction 2018-07-14 14:53:23 +02:00
Saurav Sachidanand b3c1104760 Update docs on deleting multiple archives 2018-05-27 09:38:23 +05:30
infectormp 60f9849336 docs: Improve borg with-lock (#3780)
docs: improve borg with-lock, link to FAQ
2018-04-19 15:29:47 +02:00
Thomas Waldmann 451b22ee51 docs: extend append-only repo rollback docs, fixes #3579 2018-03-09 23:27:31 +01:00
Gianfranco Costamagna 0980d6ac43 fixup allows one to, with suggestions from Dan Christensen 2018-01-03 15:54:52 +01:00
Gianfranco Costamagna 111a19f7fa fix typo: allows to -> allows one to 2018-01-03 11:42:38 +01:00
Gianfranco Costamagna 1a74326b5a borg: fix typo: explicitely -> explicitly 2018-01-03 11:42:30 +01:00
Gregor Kleen 85fb38e2f3 Add placeholder for fqdn in reverse notation 2017-12-11 23:00:38 +01:00
Thomas Waldmann ce92960c63 add auto-generated docs for borg config
also: move a bit upwards in the use docs
(cherry picked from commit 278ed640e9)
2017-12-09 13:43:36 +01:00
Thomas Waldmann 0eaec60384 docs: give examples for borg mount exclusion options 2017-11-25 20:18:59 +01:00
Thomas Waldmann 91ff2f81a6 docs: move bsdflags tuning comments to notes docs section
the atime comments are already there.
2017-11-25 20:08:33 +01:00
Thomas Waldmann f2a1539f25 docs: fix examples with problematic option placements, fixes #3356
have options to the left OR to the right of all positional arguments,
but not on BOTH sides and not in between them.
2017-11-25 19:29:34 +01:00
Thomas Waldmann 73fac09dda build_usage (master)
also: add new borgfs.rst.inc
2017-11-25 14:35:52 +01:00
TW c5dc75ae23
Merge pull request #3312 from milkey-mouse/borg-config-cmd
Add borg config command
2017-11-24 16:56:15 +01:00
Milkey Mouse 5b47cf6fa5
Add borg config command (fixes #3304)
This command works similarly to "git config" - it parses repo and
cache configs to get, set, and delete values. It only works on local
repos so a malicious client can't e.g. override their storage quota
or reset the append_only flag.

Add tests for borg config

Add documentation for borg config

Change manual config edits -> borg config

There were a couple places in the documentation where it was advised
to edit the repository or cache config file, a process that is stream-
lined by borg config.
2017-11-23 14:51:54 -08:00
Milkey Mouse 17d5c794d3
Generate man page for borgfs (fixes #3216) 2017-11-10 11:25:19 -08:00
Thomas Waldmann ed1a8b5cf1 add example showing --show-version --show-rc 2017-10-12 06:03:12 +02:00
Fabio Pedretti bc42f58c04 use --format rather than --list-format in examples, the latter is
deprecated
2017-10-09 14:09:43 +02:00
Thomas Waldmann d8766df998 docs: add note about metadata dedup and --no[ac]time, fixes #2518 2017-09-22 23:08:33 +02:00
Thomas Waldmann 3f16d91fd3 docs: add auto compression example to borg create examples 2017-09-21 14:00:50 +02:00
Thomas Waldmann 0ec6c920b9 docs: add compressor names to be more clear 2017-09-21 04:28:35 +02:00
Thomas Waldmann c88528512f fix docs: --compression lz4 is the default now, fixes #3034 2017-09-21 04:26:52 +02:00
Marian Beermann 2ff4550d4b docs: tar: tarpipe example 2017-07-26 10:40:35 +02:00
Thomas Waldmann 43ecde1bde python setup.py build_usage 2017-07-23 17:12:01 +02:00
enkore a61462693a docs: recreate: fix wrong "remove unwanted files" example 2017-07-21 11:51:46 +02:00
TW 26bc80f210 Merge pull request #2818 from takluyver/i2815
Use code markup for command line option headings
2017-07-15 17:01:05 +02:00
Thomas Kluyver ae2a1b8135 Name backup directories with 'before-upgrade'
Closes gh-2811
2017-07-15 16:23:08 +02:00
Thomas Kluyver 0fcdb97f5d Fix cross reference 2017-07-15 15:03:46 +02:00
Thomas Kluyver 84940e32b2 Use code markup for command line options
Closes gh-2815
2017-07-15 15:02:41 +02:00
Marian Beermann 946f1a4eec docs: mount: show usage of archive filters
this is pretty vital, since the versions view is basically
useless without them.
2017-07-02 22:15:14 +02:00
Thomas Waldmann 51458b6b58 FUSE versions view: keep original file extension at end, fixes #2769
some tools depend on seeing the correct file extension to operate
correctly, so put our version to the left of the file extension.
2017-07-02 19:11:24 +02:00
Marian Beermann 52f76d2cd6 docs: mount: add repository example 2017-06-30 10:54:18 +02:00
Marian Beermann 4009a764ed docs: info: update and add examples
The form of the output has changed and
new output has been added.
2017-06-29 11:49:27 +02:00
Marian Beermann 310a9b3486 docs: prune: fix include path 2017-06-23 19:17:18 +02:00
rugk e967edad98 Include prune example in doc 2017-06-23 19:17:18 +02:00
enkore 64be888e60 Merge pull request #2736 from rugk/docs-sshrestrict
Fix typo
2017-06-23 19:12:01 +02:00
rugk 6051969df8
Fix typo 2017-06-23 16:54:02 +02:00
enkore 36d22ae240 Merge pull request #2732 from rugk/docs-sshrestrict
Simplify ssh authorized_keys file
2017-06-23 16:16:34 +02:00
rugk 5b0b4f4b00
Remove unneccessary space 2017-06-23 14:52:11 +02:00
rugk 41248bbab1
Add legacy note & normalize order 2017-06-23 14:50:00 +02:00
rugk b27b9894d1
Simplify ssh authorized_keys file
Just using "restrict"; closes https://github.com/borgbackup/borg/issues/2121
2017-06-23 13:28:49 +02:00
Marian Beermann 771168a3af docs: extract: move cwd note to --help 2017-06-21 00:16:25 +02:00