Страница 1 из 1

Чтение журнала логов exim

Добавлено: 2016-10-11 12:09:18
Rayman
День добрый. Задача состоит из следующих параметров. Нужно читать определенную информацию из /var/log/exim4/mainlog. Либо чтобы складывалось в отдельный файл, или присылалось письмо на мыло админу или выводить отчет в html.

Код: Выделить всё

 дата - от кого отправили - кому прислали - названия вложений
Пробовал вариант со стандартным eximstats, но это совсем не то. Раз в сутки через cron отправляет полную инфу по почте. Может кто подскажет, как реализовать? Пример скрипта?

Чтение журнала логов exim

Добавлено: 2016-10-11 13:54:14
xM
В acl_mime (или где вы там вложения разбираете) сделайте log_write с этим набором данных и уникальным идентификатором типа COOLOG в начале строки, а потом grep по нему и mail по cron'у.

Чтение журнала логов exim

Добавлено: 2016-10-14 11:33:57
Rayman
xM писал(а):В acl_mime (или где вы там вложения разбираете) сделайте log_write с этим набором данных и уникальным идентификатором типа COOLOG в начале строки, а потом grep по нему и mail по cron'у.
можно по подробнее? какого вида должен быть скрипт? не особо разбираюсь. или есть примеры как это сделать?

Чтение журнала логов exim

Добавлено: 2016-10-14 13:17:31
xM
Rayman писал(а): не особо разбираюсь
Начинаете отсюда
http://citforum.ru/programming/shell/index.shtml
А потом man sh, man grep, man cron, man mail, man ...

Чтение журнала логов exim

Добавлено: 2016-10-19 7:45:54
Rayman
стандартный лог exim пишет в /var/log/exim4/mainlog. Но там не отображает пересланные вложения и например названия тем. в доке про log_selector отсылки про вложения и тему я не нашел. Где и что нужно прописать для отображения заданных параметров в журнале ексима?

Чтение журнала логов exim

Добавлено: 2016-10-19 13:33:41
xM
Rayman писал(а): log_selector
Я такого не писал

Чтение журнала логов exim

Добавлено: 2016-10-25 5:55:10
Rayman

Код: Выделить всё

acl_check_mime:
deny
                message = We do not accept attachments like: $mime_filename
                condition = ${if match
                {${lc:mime_filename}} \
                {\Ndraft\N}}
                decode = default
                log_message = forbidden attachment: filename=$mime_filename
                accept
Тогда в log пишет названия вложения которое не пропускается. Что нужно добавить чтобы писались все вложения, не только блокируемые?

Чтение журнала логов exim

Добавлено: 2016-10-25 11:42:42
Rayman
Rayman писал(а):

Код: Выделить всё

acl_check_mime:
deny
                message = We do not accept attachments like: $mime_filename
                condition = ${if match
                {${lc:mime_filename}} \
                {\Ndraft\N}}
                decode = default
                log_message = forbidden attachment: filename=$mime_filename
                accept
Тогда в log пишет названия вложения которое не пропускается. Что нужно добавить чтобы писались все вложения, не только блокируемые?
Добавил, вложения теперь падают в логи:

Код: Выделить всё

warn
  log_message = Attachment. Content-type=$mime_content_type, filename=$mime_filename
accept
Но если отправлять файл на русском языке, то в логах беда с кодировкой..это как то можно исправить?

Код: Выделить всё

Warning: Attachment: content-type=text/plain, filename=\321\204\320\260\320\271\320\273.txt

Чтение журнала логов exim

Добавлено: 2016-10-25 19:17:24
xM
Rayman писал(а): Что нужно добавить чтобы писались все вложения, не только блокируемые?
Написать не deny, а warn.

Чтение журнала логов exim

Добавлено: 2016-10-26 5:31:06
Rayman
xM писал(а):Написать не deny, а warn.
А с кодировкой вложений на русском языке вопрос решается?

Код: Выделить всё

 filename=\321\204\320\260\320\271\320\273.txt

Чтение журнала логов exim

Добавлено: 2016-10-26 17:33:07
xM
Через iconv, скорее всего.

Чтение журнала логов exim

Добавлено: 2016-10-28 5:49:11
Rayman
xM писал(а):Через iconv, скорее всего.
Проблема решилась, добавлением в конфиг exim опции:

Код: Выделить всё

print_topbitchars = true