Поиск в *.gz архивах без их распаковки

  • 01.03.2019
  • 663
  • 0
  • 100.00%
  • 1
  • 19.03.2019
Поиск в *.gz архивах без их распаковки

Часто бывает такая ситуация, что есть острая необходимость найти в логах, которые уже были обработаны и упакованы с помощью logrotate в gzip архивы какую-либо информацию. Например, для поиска в логах nginx или apache действий определенного IP адреса. Чтобы не распаковывать каждый архив и потом искать в нем нужную нам информацию, можно воспользоваться утилитой zgrep.


Поиск в конкретном gz архиве без распаковки

Если вам необходимо произвести поиск в определенном архиве, но без его распаковки, то это можно сделать следующей командой:

zgrep 'string_to_search' /var/log/nginx/sysadmin.ru-access.log.28.gz

string_to_search - строка, которую мы будем искать
/var/log/nginx/sysadmin.ru-access.log.28.gz - путь к конкретному gz файлу, в котором мы будем производить поиск

Поиск во всех gz архивах без распаковки

Если вам необходимо произвести поиск в множестве архивов, при этом не распаковывая их, то делается это следующей командой:

find /var/log/nginx/ -name '*.gz' -exec zgrep -- 'string_to_search' {} +

/var/log/nginx/ - каталог, в котором находятся архивы
'*.gz' - все архивы gz
string_to_search - строка, которую мы будем искать

Поиск только в определенных gz архивах без распаковки

Если вам необходимо произвести поиск только в определенных gz архивах, например, лог-файлах содержащих в своем названии фразу error, то делается это следующей командой:

find /var/log/nginx/ -name '*error*.gz' -exec zgrep -- 'string_to_search' {} +

/var/log/nginx/ - каталог, в котором находятся архивы
'*error*.gz' - все архивы gz, которые содержат в названии слово error
string_to_search - строка, которую мы будем искать

Была ли эта статья Вам полезна?




Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.