TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #555 12K
Как собрать все логи в один.

Иногда возникает задача найти что-то в логах ручками, без установки анализаторов логов.
ㅤ
Логов может быть много, некоторые сжатые - некоторые нет. Для работы со сжатыми файлами есть утилиты, начинающиеся на z. zcat, zgrep, zdiff...

ls -/bin/z* в помощь.

Для сборки логов в один я написал простой скрипт. Он выдает в stdout все логи, в порядке создания, сжатые разжимаются.

#!/bin/bash

test -z "$1" && echo "need log file" && exit

declare EXT=gz

for CUR_LOG in $(ls -tr "$1"*);do
PREFIX=z
if [[ "${CUR_LOG##*.}" != "$EXT" ]];then
PREFIX=
fi
${PREFIX}cat ${CUR_LOG}
done


Сохраняем его в файл sumlog.sh делаем файл исполняемым:

chmod +x sumlog.sh



sudo ./sumlog.sh /var/log/apache2/access.log


Лог файл без индексов и архивных расширений.

Поскольку скрипт очень простой, метод написания я выбрал максимально извращенный. :-)

declare EXT=gz - сжатый файл.
ls -tr "$1"* спиcок файлов, отсортированный по времени (-t), в порядке убывания (-r)

Если у файла расширение не gz, то используем утилиту cat, если gz - zcat

А дальше обрабатывать вывод можно как угодно:

sudo ./sumlog.sh /var/log/apache2/access.log|grep ...
sudo ./sumlog.sh /var/log/apache2/access.log|awk ...
sudo ./sumlog.sh /var/log/apache2/access.log|sed ...


UPD: Тут пользователь Кирилл Катаевский (@rosskk) подсказал, как можно упростить:
#!/bin/bash
test -z "$1" && echo "need log file" ||zcat -f $(ls -tr "$1"*)


tags: #bash © by Tagd Tagd
—
🔔 @bashdays
More from @bashdays
  1. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  2. Sep 24, 2026Post #1565
  3. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  4. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  5. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
  6. Sep 11, 2026🤖 DevOps в эпоху AI трансформации: что работает уже сейчас! 17 сентября Сбер собирает Dev…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →