FTP FileWatcher

所以,我处在这个小小的困境中,我被困在看几个ftp文件夹,看看他们是否有新的文件添加到他们。 如果他们这样做,它需要抛出一个事件的文件名。 从而告诉其他人下载该文件。

这是一个非常简单的对象,如果有人知道这个操作有多昂贵,我只是好奇而已。

我打算使用NLIST命令,因为我不需要文件大小信息,并且文件夹中不会有子目录。 该文件夹中的每个文件的名称中都只有25个字符。

每个文件夹可能有10到2000个文件(通常在低端,100-300,但目前正在增长)。

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

有可能有多达几百个文件夹(在这种情况下,我可以根据文件夹的数量来改变观看频率),但目前只有less数(6-10ish)。

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

我没有要求实施,就像任何人有一些关于FTP的第一手或第二手知识,这怎么会影响我的networking。

我不反对把文件保留时间或更改检查新文件的频率。

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 

假设你有访问FTP服务器的shell,那么dnotify是你的朋友。 目录更改通知。

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