我正在尝试将网络共享上的文件从一个文件夹复制到另一个文件夹,所以我只是进行复制和粘贴,我安装了 TeraCopy,它显示的速度为 2KB/s 到 7KB/s。
我在家工作,通过 VPN 访问共享。
我的问题是,这就像我自己机器上的普通副本吗?文件从文件夹 A 到文件夹 B 是否不经过我的计算机?我应该通过目标计算机中的终端启动复制操作吗?如果是这样,即使我断开/关闭终端窗口,如何启动复制操作并使其保持运行?
我正在尝试将网络共享上的文件从一个文件夹复制到另一个文件夹,所以我只是进行复制和粘贴,我安装了 TeraCopy,它显示的速度为 2KB/s 到 7KB/s。
我在家工作,通过 VPN 访问共享。
我的问题是,这就像我自己机器上的普通副本吗?文件从文件夹 A 到文件夹 B 是否不经过我的计算机?我应该通过目标计算机中的终端启动复制操作吗?如果是这样,即使我断开/关闭终端窗口,如何启动复制操作并使其保持运行?
这取决于所使用的软件和协议。运行“任务管理器”并查看您的网络使用情况图表以找出答案 - 如果您复制一个大文件并在“网络”图表中看到一个尖峰,那么它正在通过您的计算机。
SMBv3(标准 Windows 文件共享)支持可选的“服务器端复制”,其中 SMB 客户端可以告诉服务器从 A 复制到 B,这一切都发生在服务器端。然而,这是一个可选功能,并不能保证每个服务器都支持,在这种情况下,唯一剩下的选项是在客户端进行所有复制,您的计算机必须从 A 下载所有内容,然后上传回 B。
另外,“服务器端复制”只有在客户端软件专门使用该操作时才会生效——例如Windows内置的复制功能会生效,但TeraCopy可能不会。(此类工具故意从头开始复制,以使本地速度更快,但缺点是它们经常忽略或忘记此类优化。)
因此,如果 TeraCopy 使用传统方法进行文件复制(从 A 读取,写入 B,从 A 读取,写入 B),那么所有内容确实首先通过您的计算机,然后返回到服务器,双向通过 VPN 。
(它也可能是运行过时软件的旧服务器或 NAS,不支持服务器端复制,甚至可能是使用过时的 SMBv1 的服务器,在这种情况下,复制需要再次通过您的计算机,因为没有其他方法来做到这一点。)
对于 Linux 或 BSD 服务器,有两种选择:
如果您只需要“即发即忘”方法,请运行复制命令
nohup <cmd> &
(例如,nohup cp -av /this /that &
)。如果您想要持久的东西(稍后检查),请首先运行,
tmux
或者screen
如果安装了其中任何一个,然后在里面运行您的命令 - 它会创建一个持久会话,您可以稍后重新附加该会话以查看状态/进度(例如tmux a[ttach]
或screen -R
) 。我不确定 Windows 服务器是否具有通过 SSH 或 PS-Remoting 运行分离进程的任何等效选项,但如果您通过远程桌面连接,则副本应在断开连接后继续运行。
(除非服务器故意设置为在断开连接后注销,在这种情况下您实际上无能为力。)
您还可以使用(Windows 内置的 robocopy 工具)从本地终端进行复制。
robocopy \\nas\old \\nas\new /e