![如果从不同的服务器运行 Robocopy,如果源和目标是同一台服务器,它是否会通过网络复制文件?](https://linux22.com/image/791445/%E5%A6%82%E6%9E%9C%E4%BB%8E%E4%B8%8D%E5%90%8C%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E8%A1%8C%20Robocopy%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%BA%90%E5%92%8C%E7%9B%AE%E6%A0%87%E6%98%AF%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%AE%83%E6%98%AF%E5%90%A6%E4%BC%9A%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%EF%BC%9F.png)
作为构建和部署过程的一部分,我们将应用程序从服务器 A(运行 GitHub 自托管运行器的构建服务器)部署到服务器 B(Web 服务器)。该过程涉及从服务器 A 发布到服务器 B 上的临时文件夹。发布完成后,我从服务器 A 运行 Robocopy 脚本,其中源文件夹和目标文件夹都在服务器 B 上。
我的问题是:从服务器 A 运行 Robocopy 是否会导致文件从服务器 B 的临时文件夹传递回服务器 A,然后再传递到服务器 B 的生产文件夹?
如果是这样,有没有更好的方法?这些文件夹彼此相邻,并且过程应该非常快。
答案1
现代 SMB 2+ 客户端/服务器实现支持服务器端副本和robocopy 支持此功能。
我刚刚尝试从 ClientA(Win10 客户端)将一个大文件从 ServerA/folder 复制到 ServerA/folder2(Win2016 服务器),我确认数据确实不是通过客户端运行进行流动robocopy
;相反,副本位于服务器本地。