Мне нужно получить последние записи X файла modsec_audit.log в bash и записать его в новый файл. Я знаю, что это возможно с помощью tail и sed, но это возможно отключается в определенной строке и заставляет половину сообщения оставить в начале.
Есть ли более чистый способ сделать это? Мне просто нужно получить X последних событий/элементов из файла журнала.Как получить последние X-записи файла modsec_audit.log?
Для тех, кто не знаком с логами ModSecurity, вот пример modsec_audit.log файла:
--38321e0f-E--
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at 10.211.55.6 Port 80</address>
</body></html>
--38321e0f-H--
Message: Access denied with code 503 (phase 2). Pattern match "block_hack" at ARGS:block_hack. [file "/usr/share/modsecurity-crs/activated_rules/block_hack.conf"] [line "2"] [id "11212"]
Action: Intercepted (phase 2)
Apache-Handler: application/x-httpd-php
Stopwatch: 1443442449908332 455 (- - -)
Stopwatch2: 1443442449908332 455; combined=23, p1=6, p2=15, p3=0, p4=0, p5=2, sr=0, sw=0, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.7.7 (http://www.modsecurity.org/).
Server: Apache/2.4.7 (Ubuntu)
Engine-Mode: "ENABLED"
--38321e0f-Z--
Зачем вам это нужно? Файл ошибки Apache будет содержать информацию о любой ошибке в одной строке, с которой часто бывает легче справиться, чем пытаться разобраться с многострочным журналом аудита. –
Я делаю приложение Modsecurity. Таким образом, мне нужно получить доступ к последним X-файлам файла modsecurity. Я знаю, что apache также имеет полезную информацию, но мне нужно сосредоточиться здесь на modsec_audit.log. –
Хорошо. Просто подумал, что я упомянул бы, если бы вы не знали, что ModSecurity также регистрируется в файле ошибок Apache в более удобном формате grep-able. Но в нем нет такой информации, как журнал аудита. –