Rsync 用于将 4TB 从 SMB 同步到 USB 卷“主机名问题”

O S*_*ygg 4 rsync file-transfer filesystems smb macos

我在 MacOS 10.11.6 上遇到 rsync (3.1.2.) 问题,因为我不知道如何正确输入主机名。我的方法是这样的:

$ sudo rsync -vaE --progress smb://company-nas/old_Projects/old_Projects_11 /Volumes/old_Projects_11
Run Code Online (Sandbox Code Playgroud)

我得到的是:

ssh: Could not resolve hostname smb: nodename nor servname provided, or not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]
Run Code Online (Sandbox Code Playgroud)

Dan*_*l B 8

rsync 本身不支持 SMB。您指定的 URL 很可能是从某些文件管理工具复制的。它不会\xe2\x80\x99 工作。

\n\n

相反,您有两个选择:

\n\n
    \n
  • 如果必须使用SMB,则必须安装它。
  • \n
  • 如果您可以通过 SSH 访问文件服务器,则可以使用 rsync\xe2\x80\x99s 本机协议(通过 SSH)传输数据。
  • \n
\n\n

中小企业

\n\n

只需在 Finder 中浏览至共享即可。一旦它出现在桌面上,它\xe2\x80\x99s就会安装在/Volumes/<whatever>。大概是这样的/Volumes/old_Projects/old_Projects_11。该路径可与 一起使用rsync

\n\n

在 Linux 上,您\xe2\x80\x99d 必须安装 \xe2\x80\x9ccifs-utils\xe2\x80\x9d 软件包(或等效的软件包)并手动安装:

\n\n
mount -t cifs -o username=<username>,password=<password> //company-nas/share /mnt/my-mount-point\n
Run Code Online (Sandbox Code Playgroud)\n\n

SSH

\n\n

如果您可以通过 SSH 访问文件服务器并且它具有可用的 rsync,则可以使用rsyncxe2x80x99 自己的协议,当您必须在某个时刻恢复传输时,这可能会更有效。

\n\n
rsync -e ssh your-user@company-nas:/path/to/share /Volumes/old_Projects_11\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后系统将提示您输入用户\xe2\x80\x99s 密码,并且该过程将开始。

\n\n

重要提示:您\xe2\x80\x99 需要共享文件夹的完整路径,而不是共享名。

\n