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

标签 linux ftp shared-hosting cron

情况如下:

一系列远程工作站采集现场数据,并将采集到的现场数据通过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/

相关文章:

linux - 如何使用 gawk/grep 打印特定的文本列表?例如我想打印txt文件中存在的所有颜色的名称

powershell - PowerShell 能否使用 FTP 在一次传输中检索远程文件夹和子文件夹目录数据?

shared-hosting - 设置内容服务器

ip - 当网站在共享主机上时如何通过IP地址访问网站?

javascript - HTML 中 Javascript 函数的问题

JAVA - 在 Linux 上接收 UDP 数据包时出现问题

python - 使用 Python 读取存储在 FTP 中的 CSV 文件

java - Apache Commons Net FTPClient 将不会执行 listFiles()

ruby-on-rails - 尝试使用 https 时乘客崩溃

Linux 狂欢 : Setting iptables rules to allow both active and passive FTP