Home Explore Blog CI



man-pages

27th chunk of `rsync.man`
424c08fe48c4735b35534aa98b93f0ef10001185c8a452b60000000100000feb
 mount instead of a symlink to modify your re‐
              ceiving hierarchy.

              See also --copy‐dirlinks for an analogous option for the  sending
              side.

              See the SYMBOLIC LINKS section for multi‐option info.

       --hard‐links, -H
              This  tells rsync to look for hard‐linked files in the source and
              link together the corresponding files on the destination.   With‐
              out  this  option, hard‐linked files in the source are treated as
              though they were separate files.

              This option does NOT necessarily ensure that the pattern of  hard
              links  on  the  destination  exactly  matches that on the source.
              Cases in which the destination may end up with extra  hard  links
              include the following:

              o      If  the  destination  contains extraneous hard‐links (more
                     linking than what is present in the source file list), the
                     copying algorithm will not break  them  explicitly.   How‐
                     ever,  if  one  or  more of the paths have content differ‐
                     ences, the normal file‐update process will break those ex‐
                     tra links (unless you are using the --inplace option).

              o      If you specify a --link‐dest directory that contains  hard
                     links,  the  linking  of the destination files against the
                     --link‐dest files can cause some paths in the  destination
                     to  become linked together due to the --link‐dest associa‐
                     tions.

              Note that rsync can only detect hard links between files that are
              inside the transfer set.  If rsync updates a file that has  extra
              hard‐link connections to files outside the transfer, that linkage
              will  be  broken.  If you are tempted to use the --inplace option
              to avoid this breakage, be very careful that you  know  how  your
              files  are  being  updated  so that you are certain that no unin‐
              tended changes happen due to lingering hard links  (and  see  the
              --inplace option for more caveats).

              If  incremental  recursion is active (see --inc‐recursive), rsync
              may transfer a missing hard‐linked file before it finds that  an‐
              other  link  for that contents exists elsewhere in the hierarchy.
              This does not affect the accuracy of  the  transfer  (i.e.  which
              files  are hard‐linked together), just its efficiency (i.e. copy‐
              ing the data for a new, early copy of  a  hard‐linked  file  that
              could  have been found later in the transfer in another member of
              the hard‐linked set of files).  One way  to  avoid  this  ineffi‐
              ciency is to disable incremental recursion using the --no‐inc‐re‐
              cursive option.

       --perms, -p
              This  option  causes  the  receiving rsync to set the destination
              permissions to be the same as the source permissions.  (See  also
              the --chmod option for a way to modify what rsync considers to be
              the source permissions.)

              When this option is off, permissions are set as follows:

              o      Existing  files (including updated files) retain their ex‐
                     isting  permissions,  though  the  --executability  option
                     might change just the execute permission for the file.

              o      New  files  get  their "normal" permission bits set to the
                     source file’s permissions masked with the receiving direc‐
                     tory’s default permissions (either the receiving process’s
                     umask, or the permissions specified  via  the  destination
                     directory’s  default  ACL),

Title: Rsync Options: Hard Links and Permissions
Summary
This section further details the '--hard-links' option, explaining that while it aims to replicate hard links from source to destination, it may not perfectly match due to extraneous links or interactions with '--link-dest'. It also cautions about potential breakage of hard links to files outside the transfer set and advises against using '--inplace' without understanding its implications. The '--perms' option is introduced, explaining how it ensures the receiving rsync sets destination permissions to match the source, detailing default behavior when the option is disabled.