使用 rsync --delete 时未获得正确的输出

使用 rsync --delete 时未获得正确的输出

我正在尝试使用 rsync --delete 删除文件但我一直收到此输出。

命令行截图

答案1

rsync --delete

@sudodus 所以为了使用--delete 我必须从原始目录中删除原始文件?

是的,但是,我想说的是,其意图是相反的:当您删除了源中的相应文件时,它将帮助您删除目标中的文件。

如果您想避免复制某些文件(但将它们保留在源中),则可以使用--exclude


rsync不是通用的删除工具。它是一个复制工具,用于复制/更新目标目录树,其中包含相应源目录树中的新文件或更新文件。选项--delete为“仅”同步,即如果源中的相应文件已被删除,则删除目标中的文件。

参见手册中的详细描述man rsync

        --delete                delete extraneous files from dest dirs
        --delete-before         receiver deletes before xfer, not during
        --delete-during         receiver deletes during the transfer
        --delete-delay          find deletions during, delete after
        --delete-after          receiver deletes after transfer, not during
        --delete-excluded       also delete excluded files from dest dirs
        --ignore-missing-args   ignore missing source args without error
        --delete-missing-args   delete missing source args from destination


   --delete
          This  tells  rsync to delete extraneous files from the receiving
          side (ones that aren’t on the sending side), but  only  for  the
          directories  that  are  being synchronized.  You must have asked
          rsync to send the whole directory (e.g. "dir" or "dir/") without
          using  a  wildcard  for  the directory’s contents (e.g. "dir/*")
          since the wildcard is expanded by the shell and rsync thus  gets
          a  request  to  transfer individual files, not the files’ parent
          directory.  Files that are excluded from the transfer  are  also
          excluded from being deleted unless you use the --delete-excluded
          option or mark the rules as only matching on  the  sending  side
          (see the include/exclude modifiers in the FILTER RULES section).

          Prior  to  rsync  2.6.7, this option would have no effect unless
          --recursive was enabled.  Beginning with 2.6.7,  deletions  will
          also occur when --dirs (-d) is enabled, but only for directories
          whose contents are being copied.

          This option can be dangerous if used incorrectly!  It is a  very
          good  idea to first try a run using the --dry-run option (-n) 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
          errors)  on  the sending side from causing a massive deletion of
          files on the  destination.   You  can  override  this  with  the
          --ignore-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,  and  the
          --delete-before algorithm when talking to an older  rsync.   See
          also --delete-delay and --delete-after.

rm‘remove’ 是 Linux 的标准工具,用于删除文件别名

根据您的截图,您可以尝试

rm /tmp/backup/foto3.txt

或通过检查站确认,

rm -i /tmp/backup/foto3.txt

相关内容