暂停FTP-登录,触发文件创建

Pause FTP-Login, triggered file creation

目前,我正在将 600 多个文件生成到一个 FTP 目录结构中,客户可以通过该目录结构获取其中一个文件。经过一些调整后,生成这些文件大约需要 20 分钟,但文件数量每天都在增加(更多客户获得 FTP-登录到 "their" 文件)。

我在想是否可以以某种方式进入 FileZilla(使用 FTP-server)或自己创建一个 FTP-server 来执行如下操作:

当客户通过 FTP 登录时,不会直接登录。身份验证后 FTP-协议 "pauses" 和所需文件的文件生成被触发。一旦文件生成到客户的 FTP 目录中(大约需要 2 到 5 秒),FTP 将恢复登录,客户可以进入他的目录,其中包含一个全新的文件。

这样一来,我只在需要时生成那些实际需要的文件。

有什么想法,从哪里开始?

如果我可以使用 FileZilla 配置文件,那将是一个很大的优势,这样我就不必重设任何密码了。

FileZilla FTP 服务器是开源的,因此您可以获取其代码并根据需要进行修改。

参见方法CControlSocket::DoUserLogin。修改它以在返回 TRUE 之前执行您需要的任何操作(这会触发“230 Logged on”响应)。


大多数商业 FTP 服务器支持事件 scripts/hooks。您可以使用这些来实现登录时的文件创建。

来自 FTP 个免费服务器,ProFTPD supports events, via its mod_exec module。但是 ProFTPD 是为 *nix 而不是 Windows.