将文件从 Windows 服务器传输到 Linux 服务器的方法

将文件从 Windows 服务器传输到 Linux 服务器的方法

我需要定期将包含以下内容的 webserver-log-like-files 从美国的 Windows 生产服务器传输到印度的 Linux 服务器。每个文件大小约为 4 MB,我每分钟大约可以得到 1 个文件。在 Windows 中写入文件和在 Linux 机器上可用之间大约需要 5 分钟的延迟。我对这里的各种选项有点困惑,因为我对这种设计相当不熟悉:

  1. 我正在考虑用 C#.NET 编写一个服务,它将定期存档、压缩并将它们发送到 Linux 机器。这些文件非常容易压缩。WinRAR 可以将这些文件中的 32 MB 转换为 1.2 MB 的存档。这样应该可以解决网络传输速度问题。但是我究竟该如何将文件传输到 Linux?我可以使用 samba 在 Windows 服务器上安装 Linux 驱动器,或者我应该创建一个 ftp 服务器,或者将文件序列化为 POST 请求。哪一个比较好?此外,我必须尽量减少 Windows 服务器上的负载。
  2. 改为在 Linux 上安装 Windows 驱动器。我可以使用 mount 命令,也可以在这里使用 samba(这两种方法的优缺点是什么?)。然后我可以在 Linux 本身中编写压缩和复制部分。

我不相信互联网连接非常稳定,所以也应该有良好的重试机制和故障保护。在这些情况下可能存在哪些问题,以及我必须担心的其他问题是什么?

谢谢,哈里

答案1

您可以使用 sftp (SSH) 进行传输。可以通过 Windows 到 Linux 创建简单的脚本 - 这可能是最简单的方法,并且增加了一些安全性。

答案2

您还可以尝试 WinSCP,这是我发现的从 Linux/ESX 计算机传输到 Windows 的最简单方法,前提是它们可以连接。WinSCP 免费、安全、易于使用、无需安装、所需资源非常少并且工作速度非常快。

答案3

由于您要寻找重新连接和恢复,我会使用 FTP 或 SFTP,以及众多可以轻松在 Google 上搜索到的商业产品之一。Samba 不是一个好的解决方案,因为断开连接可能会导致问题。

我在谷歌上找到的第一个结果是批量同步,它同时支持 FTP 和 FTPS/SFTP,但我个人不了解这款产品。毫无疑问,它不是同类产品中唯一的一款。

答案4

最简单的方法是在 Windows 服务器和 Linux 服务器上安装 Dropbox,然后将日志文件保存到 Dropbox:http://db.tt/Jw6XNac

相关内容