У меня есть машина windows server 2012 r2 с sophos. Каждый день происходит сканирование из sophos, и информация добавляется в журнал "sav.txt".
Пример вывода (некоторая информация изменена):
20150710 205446 Using detection data version 5.16 (detection engine 3.58.3). This version can detect 9405871 items.
20150710 205446 User (NT AUTHORITY\LOCAL SERVICE) has started on-access scanning for this machine.
20150711 020000 Scan 'Sophos Management Server' started.
20150711 023317 Scan 'Sophos Management Server' completed.
20150711 023317 Summary of results for scan 'Sophos Management Server':
Items scanned: 166433
Errors: 0
Items quarantined: 0
Items dealt with: 0
Используя nxlog, я хочу иметь возможность анализировать файл sav.txt на предмет информации, которую я показал в выходном примере только за текущий день, и отправлять эту информацию на сервер системного журнала.
Единственная проблема заключается в том, что файл sav.txt со временем будет становиться все больше и больше, мы хотим, чтобы nxlog отправлял информацию из текстового файла только для этого дня.
Только 1 июля, только первые сообщения июля будут отправляться на наш сервер системного журнала, 2 июля ... то же самое и т. Д.
Не знаю, имеет ли это значение, но мы используем Kiwi Syslog для сервера. У Kiwi есть бесплатная утилита для Windows, но она не анализирует текстовые файлы и отправляет только ту информацию, которая нам нужна. Kiwi, кажется, извлекает только данные из журнала событий, но может получать все, что угодно.
Возможно, есть разные способы, но это можно сделать следующим образом:
Exec if not (($raw_event =~ /^(\d{4})(\d{2})(\d{2}) /) and \
(substr(string(now()), 0, 10) == $1 + '-' + $2 + '-' + $3)) drop();