希望 rsync 包含以单破折号或双破折号开头的文件夹的驱动器,例如:
我尝试过以下方法:
rsync -azP -e <source drive>/* <destination drive>
...但是,以破折号 (-) 或双破折号 (--) 开头的文件夹不会同步。
如何确保以破折号 (-) 或双破折号 (--) 开头的任何文件夹正确同步?
Kus*_*nda 15
您可以按照与大多数工具相同的方式执行此操作:
./您可以通过显式写出或使用目录的绝对路径来编写路径,使其不以破折号开头。
rsync ...options... /full/path/src ./dst
Run Code Online (Sandbox Code Playgroud)
您可以--在路径名操作数之前停止选项解析:
rsync ...options... -- srcpath dstpath
Run Code Online (Sandbox Code Playgroud)
在您的情况下,使用--,以下内容将创建为当前目录中/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因此,在进行本地复制时没有必要使用。事实上,这可能会减慢操作速度。
相对路径名(文件名)加上前缀./,它将不再以破折号开头
rsync -av ./-items* destination:destPath/
Run Code Online (Sandbox Code Playgroud)
或者去掉通配符*并转移父目录
rsync -av ./ destination:destPath/dir
Run Code Online (Sandbox Code Playgroud)