向FTP服务器上传新文件时,如何防止同时在服务器上删除的文件重新上传
When uploading new files to FTP server, how to prevent reupload of files that were deleted on the server meanwhile
我需要自动将一些文件从客户端 PC 上传到中央服务器。我们正在为在线游戏社区建立中央统计数据,处理游戏回放文件。
- 目标是我自己的小VPS服务器运行宁ubuntu
- 上传文件大小2-3MB
- 20-40 个不同的客户 运行宁 windows 遍布全球
- 我预计在 7 周内(我们游戏中的一个赛季)会上传约 6GB 的所需数据,而“不需要的”数据量是该数量的 5-10 倍。
文件在服务器上处理,然后不再需要它们,应该将其删除,以免 运行 最终从磁盘 space 中溢出。我也只需要部分文件,但由于文件需要非常复杂的处理,包括解密,所以我只能在服务器处理后才能确定。
我最初的想法是使用可编写脚本的客户端(例如 WinSCP),并使用一些 Windows 调度程序条目来使其自动化。 WinSCP 文档看起来很不错。我有点犹豫,因为我看到以下问题:
- 在服务器上删除后,如何防止重新上传?
- 技术新手易于设置
- 解决方案的可靠性
我在想,也许有人以前做过同样的事情,可以给些建议。
WinSCP 网站上有一篇文章处理所有这些问题:
How do I transfer new/modified files only?
对于像您这样的高级逻辑,它使用 PowerShell script with use of WinSCP .NET assembly。
特别是有一段你会感兴趣:Remembering the last timestamp – 它展示了如何记住上次上传文件的时间戳,以便下次传输仅较新的文件,即使以前上传的文件已不在服务器上。
该示例适用于 Session.GetFiles
的下载,但稍作改动后它也适用于 Session.PutFiles
的上传。
也引用了另一篇文章:Remember already downloaded files so they are not downloaded again,它展示了另一种方法——将已经传输的文件的名称存储到一个文件中,下次使用它来决定哪些文件是新.
我需要自动将一些文件从客户端 PC 上传到中央服务器。我们正在为在线游戏社区建立中央统计数据,处理游戏回放文件。
- 目标是我自己的小VPS服务器运行宁ubuntu
- 上传文件大小2-3MB
- 20-40 个不同的客户 运行宁 windows 遍布全球
- 我预计在 7 周内(我们游戏中的一个赛季)会上传约 6GB 的所需数据,而“不需要的”数据量是该数量的 5-10 倍。
文件在服务器上处理,然后不再需要它们,应该将其删除,以免 运行 最终从磁盘 space 中溢出。我也只需要部分文件,但由于文件需要非常复杂的处理,包括解密,所以我只能在服务器处理后才能确定。
我最初的想法是使用可编写脚本的客户端(例如 WinSCP),并使用一些 Windows 调度程序条目来使其自动化。 WinSCP 文档看起来很不错。我有点犹豫,因为我看到以下问题:
- 在服务器上删除后,如何防止重新上传?
- 技术新手易于设置
- 解决方案的可靠性
我在想,也许有人以前做过同样的事情,可以给些建议。
WinSCP 网站上有一篇文章处理所有这些问题:
How do I transfer new/modified files only?
对于像您这样的高级逻辑,它使用 PowerShell script with use of WinSCP .NET assembly。
特别是有一段你会感兴趣:Remembering the last timestamp – 它展示了如何记住上次上传文件的时间戳,以便下次传输仅较新的文件,即使以前上传的文件已不在服务器上。
该示例适用于
Session.GetFiles
的下载,但稍作改动后它也适用于Session.PutFiles
的上传。也引用了另一篇文章:Remember already downloaded files so they are not downloaded again,它展示了另一种方法——将已经传输的文件的名称存储到一个文件中,下次使用它来决定哪些文件是新.