FTP 文件监视程序

FTP 文件监视程序

所以,我陷入了这种困境:我只能观察几个 ftp 文件夹,看看它们是否有新文件。如果有,它需要抛出一个带有文件名的事件。从而告诉其他程序下载该文件。

这是一个相当简单的物体,我只是好奇是否有人知道这个操作会花费多少?

我计划使用命令 NLIST,因为我不需要文件大小信息,并且文件夹中没有子目录。文件夹中每个文件的名称恰好有 25 个字符。

每个文件夹可能有 10 到几千个(最多约 2000 个)文件(通常较低,为 100-300 个,但目前正在增加)。

这些文件的大小从 250kb 到非常不可能的 10mb 不等(通常在 250kb 到 4mb 范围内)。

可能有多达几百个文件夹(在这种情况下,我可以根据文件夹的数量更改监视频率),但目前只有几个(6-10 个左右)。

FTP 服务器也会有多个登录名,不同的登录名可以访问不同的文件夹。

我并不是在要求实现,只是如果有人对 FTP 有一些第一手或第二手的知识,这会如何影响我的网络。

我并不反对增加文件保留时间或者改变检查新文件的频率。

答案1

Inotify 工具:

inotifywait -e create -rmq $watch_directory | while read i; do
    file=$(echo $i | awk '{print$3}') 
    dir=$(echo $i | awk '{print$1}')
    # echo ${dir}${file}
done

答案2

假设您有 FTP 服务器的 shell 访问权限,那么 dnotify 就是您的好帮手。目录更改通知。

http://linux.die.net/man/1/dnotify

相关内容