我在同一个局域网中有一台 Mac 和一台 PC。PC 正在运行 OpenSSH。
我通过以下方式将 30 GB 文件的文件夹(包含子文件夹)从 Mac 复制到 PC:
scp -r ~/orig_folder/* [email protected]:another_folder/
在进行某种“差异”(比较)以证明所有文件已成功复制到 PC 之前,我正在犹豫是否要从 Mac 中删除 30 GB 的文件。
我听说过,rsync
但认为它不适用于从 Mac 到 Windows,对吗?(我尝试了很多不同的rsync
SSH 命令。)
如果还尝试了更简单的方法来计算文件的数量,但是存在不匹配;我认为有时某些文件不会出现在两个操作系统上。文件大小显然也不同。
我怎样才能实现我的目标?
将
rsync
其视为要复制哪些文件的协议,因此它不依赖于操作系统。不过,保留时间戳、用户/组权限等一些事情将取决于操作系统。在 Mac 上使用 rsync 复制文件夹
通过 SSH 使用 rsync(参见#3)
另一个提示 - 避免来自远程目录的空格和其他特殊字符,并从您的工作目录开始作为您要备份的文件的来源,这样您就可以引用它
./
而不用担心路径中的特殊字符等在本地机器上。就我个人而言,我会关闭这个问题并重新询问您是否仍然有使用问题
rsync
,包括您的rsync
命令等。我发现Beyond Compare 4 Pro(在 Windows 10 上)可以轻松做到这一点。
在 Mac 上,我启用了远程登录。然后我用BC4Pro比较文件夹:
它发现我最初的 SCP 传输似乎遗漏了一个子文件夹,该子文件夹的名称在 Mac 上以星号开头:“* Preliminaries”。
此外,许多名为“.DS_Store”和“Icon”的文件存在于 Mac 上,但从未复制到 PC 上,但我认为这些都是无关紧要的操作系统特定文件。
旧尝试:
从 Mac 终端,也许关键是像这样不带星号运行它:
rsync -aichzvn --rsync-path="C:\HashiCorp\Vagrant\embedded\usr\bin\rsync.exe" orig_folder/ [email protected]:part1sub/
(参见https://serverfault.com/a/852335/119666)
...然后也以相反的方向运行它(仍然在 Mac 终端中,但切换了计算机文件夹位置的顺序,以便远程 PC 在本地 Mac 文件夹之前列出)。
但是我无法使它正常工作。