Home Explore Blog CI



man-pages

75th chunk of `rsync.man`
daa4ae6a419f5adcb36d5b2fb52f81541359aed006c2280a0000000100000fb8
  in  use"  error when nothing else is using the port, try
              specifying --ipv6 or --ipv4 when starting the daemon).

              See also the client version of these options.

              If rsync was compiled without support for IPv6, the --ipv6 option
              will have no effect.  The  rsync --version  output  will  contain
              "no IPv6" if is the case.

       --help, -h
              When specified after --daemon, print a short help page describing
              the options available for starting an rsync daemon.

FILTER RULES
       The  filter  rules  allow  for  custom control of several aspects of how
       files are handled:

       o      Control which files the sending side puts into the file list that
              describes the transfer hierarchy

       o      Control which files the receiving  side  protects  from  deletion
              when the file is not in the sender’s file list

       o      Control  which  extended attribute names are skipped when copying
              xattrs

       The rules are either directly specified via option arguments or they can
       be read in from one or more files.  The filter‐rule files can even be  a
       part  of  the hierarchy of files being copied, affecting different parts
       of the tree in different ways.

   SIMPLE INCLUDE/EXCLUDE RULES
       We will first cover the basics of how include  &  exclude  rules  affect
       what  files are transferred, ignoring any deletion side‐effects.  Filter
       rules mainly affect the contents of directories that rsync  is  "recurs‐
       ing"  into,  but  they  can also affect a top‐level item in the transfer
       that was specified as a argument.

       The default for any unmatched file/dir is for it to be included  in  the
       transfer,  which puts the file/dir into the sender’s file list.  The use
       of an exclude rule causes one or more matching files/dirs to be left out
       of the sender’s file list.  An include rule can be used to limit the ef‐
       fect of an exclude rule that is matching too many files.

       The order of the rules is important because the first rule that  matches
       is  the  one that takes effect.  Thus, if an early rule excludes a file,
       no include rule that comes after it can have any effect. This means that
       you must place any include overrides somewhere prior to the exclude that
       it is intended to limit.

       When a directory is excluded, all its contents and sub‐contents are also
       excluded.  The sender doesn’t scan through any of it at all,  which  can
       save a lot of time when skipping large unneeded sub‐trees.

       It  is  also  important to understand that the include/exclude rules are
       applied to every file and directory that the sender is  recursing  into.
       Thus,  if  you  want  a particular deep file to be included, you have to
       make sure that none of the directories that must be traversed on the way
       down to that file are excluded or else the file will never be discovered
       to be included. As an example, if the directory "a/path" was given as  a
       transfer   argument   and   you   want   to   ensure   that   the   file
       "a/path/down/deep/wanted.txt" is a part of the transfer, then the sender
       must  not  exclude   the   directories   "a/path",   "a/path/down",   or
       "a/path/down/deep" as it makes it way scanning through the file tree.

       When  you  are  working  on the rules, it can be helpful to ask rsync to
       tell you what is being  excluded/included  and  why.   Specifying  --de‐
       bug=FILTER  or (when pulling files) -M--debug=FILTER turns on level 1 of
       the FILTER debug information that will output a message any time that  a
       file  or  directory  is  included or excluded and which rule it matched.
       Beginning in 3.2.4 it will also warn  if  a  filter  rule  has  trailing
       whitespace,  since an exclude

Title: Rsync Filter Rules: Controlling File Transfers with Include/Exclude Rules
Summary
This section further explains rsync filter rules, detailing the `--ipv4`, `--ipv6`, and `--help` options for daemon setup. It then dives into include/exclude rules, explaining how they affect file transfers by controlling the sender's file list. The order of rules is crucial, with the first match taking effect. Excluding a directory also excludes its contents. Debugging with `--debug=FILTER` can help understand rule application. Trailing whitespace in exclude rules is now warned about.