2

我需要自动将一些文件从客户端 PC 上传到中央服务器。我们正在为在线游戏社区构建中央统计数据,处理游戏重播文件。

  • 目标是我自己的运行ubuntu的小型VPS服务器
  • 上传文件大小2-3MB
  • 20-40 个运行 Windows 的不同客户端遍布全球
  • 我预计将在 7 周(我们游戏中的一个赛季)的过程中上传约 6GB 的所需数据,以及 5-10 倍的“不需要”数据量。

这些文件在服务器上处理,然后不再需要它们,应该删除它们以最终不会耗尽磁盘空间。我也只需要一些文件,但由于文件需要非常复杂的处理包括解密,所以我只能在服务器处理之后确定。

我最初的想法是使用 WinSCP 等可编写脚本的客户端,并使用一些 Windows 调度程序条目来自动化它。WinSCP 文档看起来很不错。我有点犹豫,因为我看到以下问题:

  • 在服务器上删除后,如何防止重新上传?
  • 易于技术新手设置
  • 解决方案的可靠性

我在想也许有人以前做过同样的事情,可以提供一些建议。

4

1 回答 1

0

WinSCP 网站上有一篇文章处理了这一切:
我如何只传输新的/修改过的文件?

对于像您这样的高级逻辑,它使用PowerShell 脚本和 WinSCP .NET 程序集

  • 特别是您会感兴趣的部分:记住最后一个时间戳- 它显示了如何记住最后一个上传文件的时间戳,以便下次您只传输较新的文件,即使之前上传的文件是不再在服务器上。

    该示例适用于使用 的下载Session.GetFiles,但它也适用于上传的小改动Session.PutFiles

  • 它还指向另一篇文章:记住已经下载的文件,因此它们不会再次下载,这显示了另一种方法 - 将已经传输文件的名称存储到文件中,并在下次使用它来决定哪些文件是新的。

于 2022-01-23T08:22:34.387 回答