TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #192 1.14K
Сжатие логов в реальном времени

Логи быстро накапливаются и могут занимать гигабайты дискового пространства. Вместо того чтобы ждать ротации логов, можно сжимать их в реальном времени без потери данных, используя gzip или zstd в связке с tee и systemd.

1️⃣ Перехват логов и их сжатие на лету. Если процесс пишет логи в stdout, можно сразу сжимать их:


some_command 2>&1 | tee >(gzip -c > logs.gz)


tee дублирует вывод в сжатый файл, при этом логи остаются видимыми в консоли.

Для zstd (он быстрее, чем gzip):


some_command 2>&1 | tee >(zstd > logs.zst)


2️⃣ Сжатие логов nginx в реальном времени. Добавляем gzip в конфигурацию logrotate:


/var/log/nginx/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}


Логи будут сжиматься автоматически после ротации.

3️⃣ Прямая передача логов в сжатый файл. Если приложение пишет в файл, можно использовать именованный канал:


mkfifo /tmp/logpipe
gzip -c < /tmp/logpipe > /var/log/app.log.gz &
some_command > /tmp/logpipe 2>&1


Логи идут в gzip, при этом процесс не знает, что его вывод сжимается.

4️⃣ Использование systemd-journald для сжатия. Если система использует journald, включаем сжатие в конфиге:


[Journal]
Compress=yes
SystemMaxUse=500M


Затем перезапускаем службу:


systemctl restart systemd-journald


Логи будут автоматически сжаты, освобождая место.

BashTex 📱 #bash #utils
  • 👍 8
More from @bash_tex
  1. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  2. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  3. Oct 9, 2026BashTex 📱 #мем
  4. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  5. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  6. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
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 →