Здравствуйте!
On Tue, Oct 28, 2003 at 03:02:05PM +0300, Peter Didenko wrote:
> > Есть задача: при прохождении письма,
> > имеющего определенный адрес получателя (например vip@domain.com), > > нужно посылать сообщение администратору (тоесть мне) > > с подтверждением того, что письмо доставлено на сервер > > получателя, желательно с куском лога. Не сталкивался > > ли кто с такой задачей? Тупо парсить лог файл, и выкусывать из него > > всё относящееся к этому сообщению не хочется, не подскажет > > ли кто, как это сделать попроще? > > Скажите, что значит "при прохождении"? Это значит "когда пользователь > моего сервера отправляет письмо наружу и оно доставляется на почтовый сервер > получателя"? Пожалуйста, старайтесь ставить вопрос максимально детально. > Данные из лога Вы не получите с использованием механизмов сервера. Логи это > файлы на диске. Сервер их формирует и вкладывает на диск или еще куда-то. Если > Вам нужны данные из файлов - работайте с файлами. > > while (<LOG>) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Если 'tail-ить' пишущийся лог, то тут будет ломаться. Так как при вычитывании файла до конца - данный цикл будет закончен, то, что далее в этот файл еще что-то записали подобным способом увидеть не получится.
У read() по "файлам" нет блокировки на ожидание данных - он просто вернет EOF. Подробности, как можно читать подобные файлы с квази-блокировкой - можно посмотреть в source text от tail и тд :)
> if (/что-то тут увидели/) { > что-то тут делаем; > } > }
С уважением,
Михаил Кулаков
Получено Tue Oct 28 12:17:54 2003
Этот архив был сгенерирован hypermail 2.1.8 : Thu 06 Apr 2006 - 19:38:39 MSD