我如何侦听(S)FTP服务器上的更改?

问题描述 投票:0回答:1

我正在从几台(S)FTP服务器下载每日文件。这些服务器不是我管理的,我已被外部人员授予访问权限。

文件在一天中的不同时间到达。因此,我不能事先不知道何时必须发送提取请求。

是否有一种聪明的方法来设置侦听器以跟踪这些SFTP服务器上的更改?例如,某种ping会返回服务器的最新更新时间戳。

python ftp sftp
1个回答
0
投票

首先,FTP和SFTP是两个完全不相关的协议。因此,在一个问题中同时要求两者都没有道理。无论如何,两者的答案实际上几乎相同。


FTP或SFTP协议都没有任何机制可将更改通知客户端。

他们甚至无法报告请求的更改。

您所要做的就是定期列出服务器上的所有文件,并将该列表与以前的结果进行比较。

通过使用按时间戳排序的列表,

使用FTP,可以稍微优化”。这样,特别是如果文件夹中有很多文件,一旦获得所有新文件,就可以中止列表下载。尽管要求排序列表是非标准功能,但得到了广泛支持。参见How to get files in FTP folder sorted by modification time


如果您控制服务器(机器,而不是软件),则可以在那里建立服务以提供所需的信息。但这与SFTP / FTP无关。而且由于您不控制服务器,因此也不相关。


最近的类似问题:Incremental scan of new/modified FTP files with C#

© www.soinside.com 2019 - 2024. All rights reserved.