The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Парсинг лог файлов на лету"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Парсинг лог файлов на лету"  
Сообщение от Сергей Петров email on 16-Июн-06, 11:38 
Есть linux машина с vsftpd, который смотрит в локальную сеть Есть локальные пользователи, которые заливайют файлы на сервер.

Возникла необходимость обрабатывать все залитые файлы определенным скриптом (скрипт определяет тип файла, его размер, проверяет на вирусы, перемещает в определенную папочку и делает запись в базе данных - кто залил и с кагого Ip).

Насколько я понимаю, существует несколько способов парсить vsftpd.log:

1. Раз в минуту по crontab-у будет запускаться скрипт, который натравливается на vsftpd.log и смотрит новые записи, все новые записи обрабатываются (вычленяются из них дата-время заливки, имя файла, путь, имя пользователя и ip), удаляются уже обработанные строки и эти значения передаются основному сприпту, которые выполняет необходимые действия. Этот способ мне не нравится по той причине, что иногда минута - это слишком большой промежуток времени и я не уверен, что корректно удалять строкий из лог файла, в процессе работы программы, которая в него пишет.

2. Этот способ я совершенно не понимаю, но я о нем слышал и он мне нравится - если не сложно, пожалуйста расскажите, где можно об этом почтиать. Вообщем, вместо лог файла программа пишет во вход скрипта, а этот скрипт уже разгребает то что ему написала программа.

Расскажите пожалуйста, как реализовать второй вариант решения?
Может быть существют какие-нибудь еще более удобные способы выполнить мою задачу?

Заранее большое спасибо за ответ!!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Парсинг лог файлов на лету"  
Сообщение от denn email(??) on 16-Июн-06, 14:38 
>Расскажите пожалуйста, как реализовать второй вариант решения?
>Может быть существют какие-нибудь еще более удобные способы выполнить мою задачу?
>
>Заранее большое спасибо за ответ!!


первое. система сислог может получать на свой вход лог из демона и отдавать в скрипт.

второе. пишешь скрипт в режиме демона. реализованый на команде tail -f имя_лога,
который висит и слушает поступления строк в файл и сразу же парсит их.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Парсинг лог файлов на лету"  
Сообщение от xmorpheusx email(??) on 16-Июн-06, 18:17 
>Есть linux машина с vsftpd, который смотрит в локальную сеть Есть локальные
>пользователи, которые заливайют файлы на сервер.
>
>Возникла необходимость обрабатывать все залитые файлы определенным скриптом (скрипт определяет тип файла,
>его размер, проверяет на вирусы, перемещает в определенную папочку и делает
>запись в базе данных - кто залил и с кагого Ip).
>
>
>Насколько я понимаю, существует несколько способов парсить vsftpd.log:
>
>1. Раз в минуту по crontab-у будет запускаться скрипт, который натравливается на
>vsftpd.log и смотрит новые записи, все новые записи обрабатываются (вычленяются из
>них дата-время заливки, имя файла, путь, имя пользователя и ip), удаляются
>уже обработанные строки и эти значения передаются основному сприпту, которые выполняет
>необходимые действия. Этот способ мне не нравится по той причине, что
>иногда минута - это слишком большой промежуток времени и я не
>уверен, что корректно удалять строкий из лог файла, в процессе работы
>программы, которая в него пишет.

Думаю не пригодится.

>
>2. Этот способ я совершенно не понимаю, но я о нем слышал
>и он мне нравится - если не сложно, пожалуйста расскажите, где
>можно об этом почтиать. Вообщем, вместо лог файла программа пишет во
>вход скрипта, а этот скрипт уже разгребает то что ему написала
>программа.
>
>Расскажите пожалуйста, как реализовать второй вариант решения?
>Может быть существют какие-нибудь еще более удобные способы выполнить мою задачу?
>
>Заранее большое спасибо за ответ!!


Смотри в сторону pipe, твой VS должен писать не в файл лог, а в пайп, а пайпом будет скриптик, который сам сварганишь по разумению своему. Так гораздо проще. А со скрипта при неоходимости пиши все что надо в файл по умотрению.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Парсинг лог файлов на лету"  
Сообщение от мулийтрогдь on 16-Июн-06, 19:00 
tail -F /log | script &
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру