【问题标题】:Methods to transfer files from Windows server to linux server将文件从 Windows 服务器传输到 linux 服务器的方法
【发布时间】:2010-11-25 17:21:15
【问题描述】:

我需要定期将包含的 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本身编写压缩和复制部分了。

我不相信互联网连接很稳定,所以也应该有一个好的重试机制和故障保护。在这些情况下有哪些潜在的陷阱,以及我必须担心的其他问题?

谢谢, 哈里

【问题讨论】:

  • 这不应该交给超级用户吗?

标签: windows linux samba file-sharing


【解决方案1】:

RAR 不好。坚持使用 7zip 或 bzip2。使用 ssh 传输它,可能使用 rsync,因为它可以容忍链接故障。

【讨论】:

  • 使用 7z 格式,您实际上可以指定使用的算法。 PPMd 是一种非常快速有效的压缩纯文本文件的算法。这是收集大量日志文件的理想选择。
  • RAR 通常对 Linux 不友好,并且由于您知道内容类型,您可以选择更高效的特定算法(不幸的是不是 gzip/deflate)。
  • @Dean.. 感谢您的提示 :)。但是我们的 windows 代码都是用 C# 编写的,它们本身支持 GZip,所以如果我选择选项 1,我将使用 gz。对于选项 2,我将使用 perl 来创建存档。在这种情况下,我将使用 7z。
  • 不,它们都是糟糕的想法。 stackoverflow.com/questions/2253259/…
【解决方案2】:

WinSCP可以帮助您通过脚本将文件从Windows批量传输到Linux。然后配置 Windows 任务计划程序以定期运行脚本。

我是从这个帖子一步一步学到的:https://techglimpse.com/batch-script-automate-file-transfer-winscp/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多