|
@@ -1942,39 +1942,40 @@ class Archiver:
|
|
|
EOF
|
|
|
$ borg create --exclude-from exclude.txt backup /
|
|
|
|
|
|
-
|
|
|
- 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 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
|
|
|
- file pattern). An include rule starts with the prefix +, an exclude rule starts
|
|
|
- with the prefix -, both followed by a pattern.
|
|
|
- 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
|
|
|
- an exclude pattern, the file is backed up.
|
|
|
-
|
|
|
- Note that the default pattern style for `--pattern` and `--patterns-from` is
|
|
|
- shell style (`sh:`), so those patterns behave similar to rsync include/exclude
|
|
|
- patterns. The pattern style can be set via the `P` prefix.
|
|
|
-
|
|
|
- Patterns (`--pattern`) and excludes (`--exclude`) from the command line are
|
|
|
- considered first (in the order of appearance). Then patterns from `--patterns-from`
|
|
|
- are added. Exclusion patterns from `--exclude-from` files are appended last.
|
|
|
-
|
|
|
- An example `--patterns-from` file could look like that::
|
|
|
-
|
|
|
- # "sh:" pattern style is the default, so the following line is not needed:
|
|
|
- P sh
|
|
|
- R /
|
|
|
- # can be rebuild
|
|
|
- - /home/*/.cache
|
|
|
- # they're downloads for a reason
|
|
|
- - /home/*/Downloads
|
|
|
- # susan is a nice person
|
|
|
- # include susans home
|
|
|
- + /home/susan
|
|
|
- # don't backup the other home directories
|
|
|
- - /home/*\n\n''')
|
|
|
+ .. container:: experimental
|
|
|
+
|
|
|
+ A more general and easier to use way to define filename matching patterns exists
|
|
|
+ with the experimental `--pattern` and `--patterns-from` options. Using these, you
|
|
|
+ may 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
|
|
|
+ file pattern). An include rule starts with the prefix +, an exclude rule starts
|
|
|
+ with the prefix -, both followed by a pattern.
|
|
|
+ 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
|
|
|
+ an exclude pattern, the file is backed up.
|
|
|
+
|
|
|
+ Note that the default pattern style for `--pattern` and `--patterns-from` is
|
|
|
+ shell style (`sh:`), so those patterns behave similar to rsync include/exclude
|
|
|
+ patterns. The pattern style can be set via the `P` prefix.
|
|
|
+
|
|
|
+ Patterns (`--pattern`) and excludes (`--exclude`) from the command line are
|
|
|
+ considered first (in the order of appearance). Then patterns from `--patterns-from`
|
|
|
+ are added. Exclusion patterns from `--exclude-from` files are appended last.
|
|
|
+
|
|
|
+ An example `--patterns-from` file could look like that::
|
|
|
+
|
|
|
+ # "sh:" pattern style is the default, so the following line is not needed:
|
|
|
+ P sh
|
|
|
+ R /
|
|
|
+ # can be rebuild
|
|
|
+ - /home/*/.cache
|
|
|
+ # they're downloads for a reason
|
|
|
+ - /home/*/Downloads
|
|
|
+ # susan is a nice person
|
|
|
+ # include susans home
|
|
|
+ + /home/susan
|
|
|
+ # don't backup the other home directories
|
|
|
+ - /home/*\n\n''')
|
|
|
helptext['placeholders'] = textwrap.dedent('''
|
|
|
Repository (or Archive) URLs, --prefix and --remote-path values support these
|
|
|
placeholders:
|
|
@@ -2790,9 +2791,9 @@ class Archiver:
|
|
|
'objects themselves from the backup archive')
|
|
|
exclude_group.add_argument('--pattern',
|
|
|
action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
exclude_group.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
|
|
|
fs_group = subparser.add_argument_group('Filesystem options')
|
|
|
fs_group.add_argument('-x', '--one-file-system', dest='one_file_system',
|
|
@@ -2875,9 +2876,9 @@ class Archiver:
|
|
|
subparser.add_argument('--exclude-from', action=ArgparseExcludeFileAction,
|
|
|
metavar='EXCLUDEFILE', help='read exclude patterns from EXCLUDEFILE, one per line')
|
|
|
subparser.add_argument('--pattern', action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
subparser.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
subparser.add_argument('--numeric-owner', dest='numeric_owner',
|
|
|
action='store_true', default=False,
|
|
|
help='only obey numeric user and group identifiers')
|
|
@@ -2948,9 +2949,9 @@ class Archiver:
|
|
|
subparser.add_argument('--exclude-from', action=ArgparseExcludeFileAction,
|
|
|
metavar='EXCLUDEFILE', help='read exclude patterns from EXCLUDEFILE, one per line')
|
|
|
subparser.add_argument('--pattern', action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
subparser.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
subparser.add_argument('--strip-components', dest='strip_components',
|
|
|
type=int, default=0, metavar='NUMBER',
|
|
|
help='Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped.')
|
|
@@ -3024,9 +3025,9 @@ class Archiver:
|
|
|
'objects themselves from the backup archive')
|
|
|
exclude_group.add_argument('--pattern',
|
|
|
action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
exclude_group.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
|
|
|
rename_epilog = process_epilog("""
|
|
|
This command renames an archive in the repository.
|
|
@@ -3145,9 +3146,9 @@ class Archiver:
|
|
|
'objects themselves from the backup archive')
|
|
|
exclude_group.add_argument('--pattern',
|
|
|
action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
exclude_group.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
|
|
|
mount_epilog = process_epilog("""
|
|
|
This command mounts an archive as a FUSE filesystem. This can be useful for
|
|
@@ -3519,9 +3520,9 @@ class Archiver:
|
|
|
'objects themselves from the backup archive')
|
|
|
exclude_group.add_argument('--pattern',
|
|
|
action=ArgparsePatternAction,
|
|
|
- metavar="PATTERN", help='include/exclude paths matching PATTERN')
|
|
|
+ metavar="PATTERN", help='experimental: include/exclude paths matching PATTERN')
|
|
|
exclude_group.add_argument('--patterns-from', action=ArgparsePatternFileAction,
|
|
|
- metavar='PATTERNFILE', help='read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
+ metavar='PATTERNFILE', help='experimental: read include/exclude patterns from PATTERNFILE, one per line')
|
|
|
|
|
|
archive_group = subparser.add_argument_group('Archive options')
|
|
|
archive_group.add_argument('--target', dest='target', metavar='TARGET', default=None,
|