![如何自动将文件从一台服务器移动到另一台服务器 - 不是同步而是移动](https://linux22.com/image/768113/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%20-%20%E4%B8%8D%E6%98%AF%E5%90%8C%E6%AD%A5%E8%80%8C%E6%98%AF%E7%A7%BB%E5%8A%A8.png)
我需要安全且自动地将文件从一台 Windows 2019 服务器上的多个“收件箱”移动到其他 Windows 2019 服务器上的多个“发件箱”。这些服务器位于安全防火墙后面,因此我不想使用 smb(robocopy 等)。
我正在查看几种同步工具(例如 syncthing),但它们更多的是关于同步而不是移动文件。
要求:
- 无人值守的文件移动
- 不使用 smb(sftp、专有协议可以),必须在防火墙内可控
- 如果可能的话,GUI 用于配置和控制
- 移动操作的记录
非常欢迎任何关于如何解决此问题的建议。
谢谢丹
答案1
我曾在一家公司工作,该公司的内部工作流程就是如此。我们有一个 Perl 脚本,它会在后端使用 SSH 上的 rsync。一旦复制完成(复制前后验证 md5),它就会被删除。当然,它会写一个日志。
您要求的产品推荐与本网站无关,但您可以自己做。编写此类脚本完全属于系统管理员的职责范围。
答案2
“移动”实际上就是“复制+删除”
任何具有“移动”功能的商业产品都会这样做:
- 将文件从源复制到目标
- 验证目标上的副本
- 如果验证通过:
- 删除源
- 别的:
- 错误退出
- 将所有步骤的结果输出到日志
这些步骤都可以在任何现代操作系统上轻松编写脚本,无需添加任何其他工具。