1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-27 18:28:42 +00:00

docs: rst markup: remove accidental indentation in patterns help

This commit is contained in:
Thomas Waldmann 2022-02-06 00:47:33 +01:00
parent 3f02d3cd3d
commit f0809cfeba

View file

@ -2358,64 +2358,64 @@ def do_break_lock(self, args, repository):
EOF EOF
$ borg create --exclude-from exclude.txt backup / $ borg create --exclude-from exclude.txt backup /
A more general and easier to use way to define filename matching patterns exists A more general and easier to use way to define filename matching patterns exists
with the ``--pattern`` and ``--patterns-from`` options. Using these, you may with the ``--pattern`` and ``--patterns-from`` options. Using these, you may
specify the backup roots (starting points) and patterns for inclusion/exclusion. specify the backup roots (starting points) and patterns for inclusion/exclusion.
A root path starts with the prefix `R`, followed by a path (a plain path, not a A root path starts with the prefix `R`, followed by a path (a plain path, not a
file pattern). An include rule starts with the prefix +, an exclude rule starts file pattern). An include rule starts with the prefix +, an exclude rule starts
with the prefix -, an exclude-norecurse rule starts with !, all followed by a pattern. with the prefix -, an exclude-norecurse rule starts with !, all followed by a pattern.
.. note:: .. note::
Via ``--pattern`` or ``--patterns-from`` you can define BOTH inclusion and exclusion Via ``--pattern`` or ``--patterns-from`` you can define BOTH inclusion and exclusion
of files using pattern prefixes ``+`` and ``-``. With ``--exclude`` and of files using pattern prefixes ``+`` and ``-``. With ``--exclude`` and
``--exclude-from`` ONLY excludes are defined. ``--exclude-from`` ONLY excludes are defined.
Inclusion patterns are useful to include paths that are contained in an excluded Inclusion patterns are useful to include paths that are contained in an excluded
path. The first matching pattern is used so if an include pattern matches before path. The first matching pattern is used so if an include pattern matches before
an exclude pattern, the file is backed up. If an exclude-norecurse pattern matches an exclude pattern, the file is backed up. If an exclude-norecurse pattern matches
a directory, it won't recurse into it and won't discover any potential matches for a directory, it won't recurse into it and won't discover any potential matches for
include rules below that directory. include rules below that directory.
.. note:: .. note::
It's possible that a sub-directory/file is matched while parent directories are not. It's possible that a sub-directory/file is matched while parent directories are not.
In that case, parent directories are not backed up thus their user, group, permission, In that case, parent directories are not backed up thus their user, group, permission,
etc. can not be restored. etc. can not be restored.
Note that the default pattern style for ``--pattern`` and ``--patterns-from`` is Note that the default pattern style for ``--pattern`` and ``--patterns-from`` is
shell style (`sh:`), so those patterns behave similar to rsync include/exclude shell style (`sh:`), so those patterns behave similar to rsync include/exclude
patterns. The pattern style can be set via the `P` prefix. patterns. The pattern style can be set via the `P` prefix.
Patterns (``--pattern``) and excludes (``--exclude``) from the command line are Patterns (``--pattern``) and excludes (``--exclude``) from the command line are
considered first (in the order of appearance). Then patterns from ``--patterns-from`` considered first (in the order of appearance). Then patterns from ``--patterns-from``
are added. Exclusion patterns from ``--exclude-from`` files are appended last. are added. Exclusion patterns from ``--exclude-from`` files are appended last.
Examples:: Examples::
# backup pics, but not the ones from 2018, except the good ones: # backup pics, but not the ones from 2018, except the good ones:
# note: using = is essential to avoid cmdline argument parsing issues. # note: using = is essential to avoid cmdline argument parsing issues.
borg create --pattern=+pics/2018/good --pattern=-pics/2018 repo::arch pics borg create --pattern=+pics/2018/good --pattern=-pics/2018 repo::arch pics
# use a file with patterns: # use a file with patterns:
borg create --patterns-from patterns.lst repo::arch borg create --patterns-from patterns.lst repo::arch
The patterns.lst file could look like that:: The patterns.lst file could look like that::
# "sh:" pattern style is the default, so the following line is not needed: # "sh:" pattern style is the default, so the following line is not needed:
P sh P sh
R / R /
# can be rebuild # can be rebuild
- /home/*/.cache - /home/*/.cache
# they're downloads for a reason # they're downloads for a reason
- /home/*/Downloads - /home/*/Downloads
# susan is a nice person # susan is a nice person
# include susans home # include susans home
+ /home/susan + /home/susan
# don't backup the other home directories # don't backup the other home directories
- /home/* - /home/*
# don't even look in /proc # don't even look in /proc
! /proc\n\n''') ! /proc\n\n''')
helptext['placeholders'] = textwrap.dedent(''' helptext['placeholders'] = textwrap.dedent('''
Repository (or Archive) URLs, ``--prefix``, ``--glob-archives``, ``--comment`` Repository (or Archive) URLs, ``--prefix``, ``--glob-archives``, ``--comment``
and ``--remote-path`` values support these placeholders: and ``--remote-path`` values support these placeholders: