Итак, я нахожусь в этом небольшом затруднительном положении, когда я застрял, наблюдая за несколькими папками ftp, чтобы увидеть, добавлены ли к ним новые файлы. Если они это сделают, ему необходимо вызвать событие с именем файла. Тем самым сообщая другому пользователю загрузить этот файл.
Это довольно простой объект в изготовлении, мне просто было любопытно, знает ли кто-нибудь, насколько дорогостоящей будет эта операция?
Я планирую использовать команду NLIST, потому что мне не нужна информация о размере файла, и в папке не будет подкаталогов. В имени каждого файла в папке будет ровно 25 символов.
В папке может быть от 10 до «может быть» пары тысяч (максимум около 2000) файлов (обычно на нижнем уровне, 100–300, но в настоящее время они растут).
Размер файлов составляет от 250 Кбайт до очень маловероятных 10 Мбайт (обычно в диапазоне от 250 Кбайт до 4 Мбайт).
Возможно, там может быть до нескольких сотен папок (в этом случае я мог бы изменить частоту просмотра в зависимости от количества папок), но в настоящее время их всего несколько (6-10).
Также будет несколько логинов для ftp-сервера, разные логины будут иметь доступ к разным папкам.
Я не прошу о реализации, просто если кто-то знает о FTP из первых рук или из вторых рук, как это может повлиять на мою сеть.
Я не возражаю против установки времени хранения файлов или изменения частоты, с которой я проверяю наличие новых файлов.
Инструменты 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-серверу через оболочку, тогда dnotify - ваш друг. Уведомление об изменении каталога.