Заметки по разбору логов
Разделы
Шесть команд, которые нужны чаще всего
Смотреть хвост и остаться в нём
Показывает последние 200 строк и продолжает выводить новые. Флаг -F вместо -f
переживает ротацию файла.
Кто чаще всех стучится
Классический счётчик частот. Первое поле в комбинированном формате nginx — адрес клиента.
Только ответы 5xx
Девятое поле — код ответа. Сравнение по регулярке ловит весь диапазон целиком.
Не потерять stderr
Без перенаправления в конвейер уходит только stdout, и ошибка теряется ровно тогда, когда нужна.
Что занимает место
Сортировка с -h понимает суффиксы K, M, G и не путает 900M с 1,2G.
Быстрый поиск подстроки
-F отключает регулярные выражения, -m останавливает после нужного числа
совпадений. На гигабайтном файле разница заметна.
Привычка, которая экономит вечера
Первая строка любого скрипта, который делает что-то важнее вывода даты:
Зачем. -e останавливает скрипт на первой ошибке, -u ругается на
необъявленную переменную вместо подстановки пустой строки, -o pipefail возвращает
ошибку, если упало любое звено конвейера, а не только последнее. Без pipefail
конструкция cat missing.log | wc -l завершается успешно и печатает ноль.