Home Explore Blog CI



man-pages

38th chunk of `rsync.man`
27fa403280b81c4fb079225d02d456c01416ec5a304980940000000100000ff8
        good idea to first try a run using the --dry‐run (-n)  option  to
              see what files are going to be deleted.

              If  the sending side detects any I/O errors, then the deletion of
              any files at the  destination  will  be  automatically  disabled.
              This is to prevent temporary filesystem failures (such as NFS er‐
              rors)  on  the  sending  side  from causing a massive deletion of
              files on the destination.  You can override this with  the  --ig‐
              nore‐errors option.

              The --delete option may be combined with one of the --delete‐WHEN
              options without conflict, as well as --delete‐excluded.  However,
              if  none  of  the --delete‐WHEN options are specified, rsync will
              choose the --delete‐during algorithm when talking to rsync  3.0.0
              or  newer,  or  the  --delete‐before algorithm when talking to an
              older rsync.  See also --delete‐delay and --delete‐after.

       --delete‐before
              Request that the file‐deletions on the receiving side be done be‐
              fore the transfer starts.  See --delete (which  is  implied)  for
              more details on file‐deletion.

              Deleting  before  the  transfer  is  helpful if the filesystem is
              tight for space and removing extraneous files would help to  make
              the transfer possible.  However, it does introduce a delay before
              the  start of the transfer, and this delay might cause the trans‐
              fer to timeout (if --timeout  was  specified).   It  also  forces
              rsync  to  use  the old, non‐incremental recursion algorithm that
              requires rsync to scan all the files in the transfer into  memory
              at once (see --recursive).

       --delete‐during, --del
              Request that the file‐deletions on the receiving side be done in‐
              crementally  as  the  transfer happens.  The per‐directory delete
              scan is done right before each directory is checked for  updates,
              so  it  behaves  like a more efficient --delete‐before, including
              doing the deletions prior to any per‐directory filter files being
              updated.  This option was first added  in  rsync  version  2.6.4.
              See  --delete  (which  is implied) for more details on file‐dele‐
              tion.

       --delete‐delay
              Request that the file‐deletions on the receiving side be computed
              during the transfer (like --delete‐during), and then removed  af‐
              ter  the  transfer  completes.  This is useful when combined with
              --delay‐updates and/or --fuzzy, and is more efficient than  using
              --delete‐after  (but can behave differently, since --delete‐after
              computes the deletions in a separate pass after all  updates  are
              done).   If  the  number  of  removed files overflows an internal
              buffer, a temporary file will be created on the receiving side to
              hold the names (it is removed while open, so you shouldn’t see it
              during the transfer).  If the  creation  of  the  temporary  file
              fails, rsync will try to fall back to using --delete‐after (which
              it  cannot  do if --recursive is doing an incremental scan).  See
              --delete (which is implied) for more details on file‐deletion.

       --delete‐after
              Request that the file‐deletions on the receiving side be done af‐
              ter the transfer has completed.  This is useful if you are  send‐
              ing  new  per‐directory merge files as a part of the transfer and
              you want their exclusions to take effect for the delete phase  of
              the  current transfer.  It also forces rsync to use the old, non‐
              incremental recursion algorithm

Title: Rsync Delete Options: --delete-before, --delete-during, --delete-delay, --delete-after
Summary
This section details various rsync options related to deleting files on the receiving side. It covers --delete-before (deleting before the transfer), --delete-during (deleting incrementally during the transfer), --delete-delay (computing deletions during the transfer but removing after completion), and --delete-after (deleting after the transfer is complete). Each option's behavior and use case is explained, highlighting how they interact with other options like --delay-updates and --fuzzy.