名称以单破折号和/或双破折号开头的 Rsync 文件夹

Mo *_*oho 2 linux rsync

希望 rsync 包含以单破折号或双破折号开头的文件夹的驱动器,例如:

  • -档案-
  • - 档案 -

我尝试过以下方法:

rsync -azP -e <source drive>/* <destination drive>

...但是,以破折号 (-) 或双破折号 (--) 开头的文件夹不会同步。

如何确保以破折号 (-) 或双破折号 (--) 开头的任何文件夹正确同步?

Kus*_*nda 15

您可以按照与大多数工具相同的方式执行此操作:

在您的情况下,使用--,以下内容将创建为当前目录中/some/other/path/--Archives-目录的副本:--Archives-

rsync -av -- --Archives- /some/other/path
Run Code Online (Sandbox Code Playgroud)

以下命令仅将 的内容复制--Archives-到目标目录:

rsync -av -- --Archives-/ /some/other/path
Run Code Online (Sandbox Code Playgroud)

重要的是源路径末尾的斜杠。目标路径末尾的斜杠是无关的。

请注意,很少需要在源路径上使用显式通配符,除非您知道要避免最顶层源路径复制任何隐藏名称。

除非您需要以特殊方式-e调用来创建到源或目标的网络连接,否则不需要在示例命令中使用。ssh在问题的示例代码中,您似乎在源路径中添加了前缀-e,这可能是一个错误(并且您提到在两个驱动器之间进行复制,这根本不涉及通过网络进行连接)。

另请注意,使用-z(压缩)不太可能加快速度,除非您的网络连接速度非常慢(即,如果您的压缩和解压缩速度比传输速度快得多)。-z因此,在进行本地复制时没有必要使用。事实上,这可能会减慢操作速度。


roa*_*ima 7

相对路径名(文件名)加上前缀./,它将不再以破折号开头

rsync -av ./-items* destination:destPath/
Run Code Online (Sandbox Code Playgroud)

或者去掉通配符*并转移父目录

rsync -av ./ destination:destPath/dir
Run Code Online (Sandbox Code Playgroud)