Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

如何将文件从一台服务器复制到另一台服务器

如何将文件从一台服务器复制到另一台服务器

Jan 13, 2022

在服务器之间复制文件是系统管理员经常会遇到的一项任务。就像 IT 领域的大多数事情一样,完成这项任务的方法有很多。你选择的具体方法将取决于你的实际情况以及个人偏好。下面的信息假设你的两台服务器位于同一域中。

如果你不喜欢命令行,你也可以直接把文件拖放到新服务器上。但 Windows 资源管理器并没有真正的错误处理或日志记录功能,因此一旦出现任何问题,你最终就只能猜测是什么原因导致的。市面上有一些优秀的第三方工具可以增强资源管理器的功能,但大多数管理员更倾向于让服务器尽可能保持精简、干净。

在当今的虚拟机世界里,另一个选择是直接复制整个 VM 文件,然后将其作为辅助驱动器挂载到目标服务器。只有当你希望所有文件以及所有相同的权限设置都保持一致时,这种方式才可行。如果你的目标正是如此,那么操作很容易,而且效果也很好。

使用 Robocopy 将文件复制到服务器的方法

如果你只想将部分文件复制到服务器,可能会希望使用 Robocopy。它自 Windows Server 2003 以来就已经存在,是一款非常强大的工具。使用 Robocopy,你可以复制单个文件并去除所有权限,也可以在保留所有 NTFS 权限的前提下对整个驱动器进行镜像,几乎还能完成介于两者之间的各种操作。你可以从工作站运行 Robocopy,指定源和目标文件服务器;但在其中一台服务器上直接运行会更快,并且产生的网络流量更少。

例如,如果你想将 Server1 上的 DATA 文件夹复制到 Server2,可以使用以下命令:

  • Robocopy \\server1\data \\server2\data /mir /copyall /dcopy:T

这将创建源文件夹结构的精确副本,包括所有权限和时间戳。由于它会生成镜像,因此也会删除目标位置中任何不与源匹配的内容。它非常适合复制到空白目标,但如果目标位置中已经存在数据,可能会带来潜在风险。

如果你想复制整个文件夹,但又不想保留权限或从目标文件夹中删除任何内容,你可以使用以下命令:

  • Robocopy \\server1\data \\server2\data /e

但 Robocopy 不仅仅是做简单的复制。正如前面提到的,它是一个非常强大的工具。你可以将其设置为监视(/mon)源文件夹,并在检测到更改时再次进行复制。你也可以设置为仅列出(/l),以在不实际复制任何内容的情况下预览结果。你还可以设置为只复制已设置“隐藏”属性的文件(/ia:H),或者排除隐藏文件(/xa:H)。

你还可以执行一些不涉及复制文件的操作。比如,你可能使用了 /copyall 选项,因为你希望将所有权限复制过去,但随后又不得不在源端修改其中一些权限。你可以使用 /sec /nocopy 来更新权限,而不必再次从服务器复制文件。

你还可以用这个工具做很多其他事情,包括完整的日志记录功能。下面是 Robocopy 参数的完整列表: Robocopy 命令行参考

分享到

了解更多

关于作者

Larry Glusman