2013-09-15 3 views
0

У меня есть следующий сценарий -Shell Скрипт для подсчета количества файлов, поступающих в каталоге

Удаленного сервер (скажем, Server1) толкают некоторые файлы на другой сервер (скажем, сервер 2), с помощью FTP. Затем он обновляет базу данных на сервере Server2, а затем удаленные файлы удаляются автоматически. Файлы остаются в каталоге всего за несколько секунд.

Я должен написать SHELL SCRIPT, который будет подсчитывать количество этих файлов, поступающих в каталог (скажем, в минутах).

PS: Server1 и Server2 находятся на одной и той же сетевой путь

+0

Не зная, какой сервер FTP вы используете и на какой ОС вы его запускаете, на это будет сложно ответить. Скорее всего, следует прочитать xfer-журнал для FTP-сервера или подключиться к процессу, который расходует каталог, а не напрямую запрашивает входящий каталог. – dannysauer

+0

Вы можете анализировать журналы FTP или использовать средства уведомлений, если вы используете linux – sshilovsky

+0

@ dannysauer/sshilovsky - для этого необходимо написать сценарий оболочки. Я постараюсь сделать то, что вы предложили. Его сервер linux работает на солярии. – abc

ответ

0

Это сосчитать файлы, измененные в течение последней минуты.

find/-mmin 1|wc -l 

Запускать его каждую минуту.

Смонтируйте сетевые диски с помощью ftpfs или curlftpfs.

Обновление: Если вы боитесь потерять некоторые файлы в течение секунды, вы можете использовать отметки времени для файлов. Вам нужно прикоснуться к двум файлам в другом, чтобы найти те файлы, которые были выше, чем t0 и старше t1.

Инициализировать время начала:

touch t0 

После этого вы можете выполнить это в цикле:

touch t1 
find/-newer t0 -a -not -newer t1 | wc -l 
mv t1 t0 

Это гарантирует, что вы не потеряете какие-либо файлы.

+0

@sshilovsky Я обновил ответ. – ceving

Смежные вопросы