Назад | Перейти на главную страницу

Как я могу использовать grep, чтобы найти наиболее часто повторяющиеся ошибки в моем файле журнала?

У меня есть приложение PHP, которое генерирует большое количество предупреждений и уведомлений в журнал файл..

я фиксация эти по одному.

Я бы хотел исправить как можно больше часто выполняются первыми, чтобы максимизировать влияние моих изменений на размер файла журнала.

Как я могу использовать grep / sed / regex и т. Д., Чтобы узнать, какие уведомления появляются чаще всего?

Я не могу сравнить всю строку, так как отметка времени находится в начале, но возможно перечисление / группировка / сортировка "онлайн ..."?

Как насчет этого?

grep 'on line' /var/log/httpd/error_log | cut -d' ' -f6- | sort | uniq -c | sort -nr

Т.е.

  1. Получите правильные строки из файла журнала
  2. Отрежьте дату спереди
  3. Сортировать их
  4. Сложите и подсчитайте дубликаты
  5. Сортировать по количеству дубликатов

Я думаю, это более лаконично, так что вы действительно можете избежать «сокращения».

  grep -o 'on line [[:digit:]]*' /var/log/nginx/error.log | sort | uniq -c | sort -nr