gpt4 book ai didi

linux - 处理通过 ftp 传输到托管服务器中的一组目录中的文本文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:43:25 25 4
gpt4 key购买 nike

情况如下:

一系列远程工作站采集现场数据,并将采集到的现场数据通过ftp传输到服务器。数据以 CSV 文件形式发送,该文件存储在 FTP 服务器中每个工作站的唯一目录中。

每个工作站每 10 分钟发送一次新的更新,导致以前的数据被覆盖。我们想以某种方式自动连接或存储这些数据。工作站的处理是有限的,不能扩展,因为它是一个嵌入式系统。

提供的一个建议是在 FTP 服务器中运行一个 cronjob,但是有一个服务条款限制,因为它是共享主机,所以只允许 30 分钟间隔的 cronjobs。考虑到上传的工作站数量和上传之间的 10 分钟间隔,似乎 cronjob 的 30 分钟调用之间的限制可能是个问题。

是否有任何其他建议的方法?可用的服务器端脚本语言有 perl、php 和 python。

可能需要升级到专用服务器,但我仍然希望获得有关如何以最优雅的方式解决此问题的意见。

最佳答案

大多数现代 Linux 都支持 inotify,让您的进程知道目录内容何时发生变化,因此您甚至不需要轮询。

编辑:关于 Mark Ba​​ker 的以下评论:

“不过要小心,因为您会在文件创建后立即收到通知,而不是在文件关闭时收到通知。因此您需要一些方法来确保您不会选择部分文件。”

您在目录级别设置的 inotify 监视会发生这种情况 - 确保您随后不拾取部分文件的方法是在新文件上设置进一步的 inotify 监视并查找 IN_CLOSE 事件,以便您知道该文件已被完全写入。

一旦你的进程看到了这个,你就可以删除这个新文件上的 inotify watch,然后在你有空的时候处理它。

关于linux - 处理通过 ftp 传输到托管服务器中的一组目录中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com