我正在尝试同步三台 VPS 服务器。我的想法是这样的:
- 从服务器A下载所有文件
- 将下载的文件上传至服务器B和C
这不需要自动发生(单击几下即可触发)。使用 FileZilla 或其他类似客户端可以实现吗?
由于限制,服务器无法相互打开套接字,因此使用另一台设备(我的计算机)传输文件似乎对我来说唯一可能的解决方案。
我想要做的事情可行吗?我可以在文件.sh
或.bat
文件上自动执行此操作以在 Windows 10 或 Fedora 31 PC 上运行吗?这样我只需运行脚本即可?
编辑:到目前为止,使用 WinSCP 脚本示例,我已经完成了以下操作:
open sftp://username:pass@hostA:2022
synchronize local E:\SFTP_Sync\hubs /
open sftp://username:pass@hostB:2022
synchronize remote E:\SFTP_Sync\hubs /
open sftp://username:pass@hostC:2022
synchronize remote E:\SFTP_Sync\hubs /
exit
在我运行这个并把一切都搞乱之前,这会执行以下操作吗?
- 从服务器 A 更新本地目录
- 等待本地同步完成
- 更新服务器B和服务器C的远程目录
答案1
您可以使用 WinSCP。它支持同步在其 GUI 中以及脚本。
对于 GUI,请参阅FileZilla - 如何双向同步(最新文件获胜)?(这也解释了为什么FileZilla不支持同步)。
有关脚本,请参阅将文件同步到 SFTP 服务器– 它用于 SFTP,但除了连接信息外,它与 FTP 没有什么不同。
(我是 WinSCP 的作者)