背景:
几台生产机器生产出包含各种信息的文本文件,我们想要将这些信息集中汇总。
这些机器运行的是 WinXP、7、10 的所有版本。
这些机器被严格限制在分段网络中。它们无法访问 Windows 或 Samba 共享。
这些文件本身每天的数量约为几百 kiB。
目标:
我想建立一个中央工具,可以定期从每台机器获取这些文本文件。
必须从服务器端进行获取。
每台机器每隔几分钟就会附加一次文件,因此文件复制机制能够处理锁定写入的文件而不是丢失数据等非常重要。
每台机器的文件都必须本地存储在每台机器上,因为应用程序本身太敏感,不能直接存储在网络共享上(它会失败、崩溃或丢失数据)。
可以安装某种守护进程或服务器(sftp、ftp 等),但服务器软件必须非常稳定且轻量。
服务器端可以是Linux或者Windows
失败的连接和失败的传输都应被记录下来,并且可能通过电子邮件发送。
附注:我记得很多年前我使用过一款 Windows 文件同步软件,它可以做到这一点;从多个来源获取/同步,检查文件锁定状态,发送到多个目标,包括版本控制,并在传输成功或失败时运行各种命令。但我记不清它是什么了。
答案1
如果传输始终是单向的(从生产主机到聚合服务器),那么 rsync 是标准选择。如果是双向的,齐奏是一个不错的选择,您可以对其进行配置以不同的方式处理冲突。
上述任一工具都需要在聚合主机和生产主机上可用。您可以在 WSL 或 Cygwin 中的生产主机上获取它们。