👁 При работе с systemd‑сервисами логи быстро захламляются неинформативными строками. Чтобы найти реальные сбои (ошибки, падения, критические сбои), полезно прогонять journalctl через фильтр по ключевым словам и убирать шум.
📝 Пример скрипта:
#!/bin/bash
SERVICE_NAME=$1
journalctl -u "$SERVICE_NAME" -n 5000 \
| grep -iE 'error|fail|panic|critical|segfault|oom' \
| grep -vE 'favicon|404|access denied|broken pipe' \
| tee /tmp/${SERVICE_NAME}_filtered_errors.log
📌 Запускается так:
./extract_errors.sh nginx
Скрипт извлекает последние 5000 строк логов указанного сервиса, ищет в них критичные ошибки и отбрасывает неважные сообщения (например, про 404 или favicon). Полезно для быстрой диагностики проблем на серверах без полноценного мониторинга.
🔎 Что делает:
- Собирает логи systemd‑юнита с помощью journalctl
- Ищет ключевые слова ошибок (error, panic, segfault, и т.д.)
- Удаляет шум (типичные, но неважные сообщения)
- Сохраняет результат в отдельный файл в /tmp
❗️ Удобный приём, когда нужно быстро просканировать сервисы вручную или встроить в отладочный пайплайн. Работает в любой системе с systemd — без дополнительных утилит.
tags: #bash #linux #логирование
❤️ @recura_tech



