Доработка. Использование стандартных путей Linux

This commit is contained in:
Maxim
2026-06-09 16:02:47 +03:00
parent d84856ba3a
commit 730facdf59
7 changed files with 186 additions and 126 deletions

View File

@@ -1,45 +1,36 @@
#!/bin/bash
cd /home/user/temp/golang
LOG_DIR="$HOME/.local/share/gpio-monitoring/logs"
echo "=== СТАТИСТИКА ЛОГОВ ==="
echo ""
if [ -d logs ]; then
if [ -d "$LOG_DIR" ]; then
echo "Логи в: $LOG_DIR"
echo ""
echo "Общая статистика:"
echo " Событий (JSON): $(wc -l < logs/events.log 2>/dev/null || echo 0)"
echo " Событий (Human): $(wc -l < logs/events_human.log 2>/dev/null || echo 0)"
echo " Записей GPIO: $(wc -l < logs/gpio_human.log 2>/dev/null || echo 0)"
echo " Событий (JSON): $(wc -l < $LOG_DIR/events.log 2>/dev/null || echo 0)"
echo " Событий (Human): $(wc -l < $LOG_DIR/events_human.log 2>/dev/null || echo 0)"
echo " Записей GPIO: $(wc -l < $LOG_DIR/gpio_human.log 2>/dev/null || echo 0)"
echo ""
echo "Последние 5 предупреждений:"
grep "ВНИМАНИЕ" logs/gpio_human.log 2>/dev/null | tail -5 || echo " Нет предупреждений"
echo "оследние 5 предупреждений:"
grep "ВНИМАНИЕ" $LOG_DIR/gpio_human.log 2>/dev/null | tail -5 || echo " Нет предупреждений"
echo ""
echo "Топ-10 по количеству обнаруженных объектов:"
grep "Обнаружение:" logs/gpio_human.log 2>/dev/null | \
sed -n 's/.* \([0-9]\+\) объектов.*/\1/p' | \
sort | uniq -c | sort -rn | head -10 | \
awk '{print " " $2 " объектов: " $1 " раз"}'
echo ""
echo "Распределение по силе сигнала:"
grep "Обнаружение:" logs/gpio_human.log 2>/dev/null | \
grep -o "Сила: [А-Яа-я]*" | \
sort | uniq -c | \
awk '{print " " $2 " " $3 ": " $1 " раз"}'
echo "Статистика по значениям:"
grep "Значение GPIO:" $LOG_DIR/gpio_human.log 2>/dev/null | awk -F': ' '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
echo ""
echo "💾 Использование диска:"
du -sh logs/ 2>/dev/null
du -sh $LOG_DIR 2>/dev/null
echo ""
if ls logs/data/*.bin 1> /dev/null 2>&1; then
echo "Файлы данных:"
ls -lh logs/data/*.bin 2>/dev/null | awk '{print " " $9 ": " $5}'
else
echo "Нет файлов данных"
if ls $LOG_DIR/data/*.bin 1> /dev/null 2>&1; then
echo "📁 Файлы данных:"
ls -lh $LOG_DIR/data/*.bin 2>/dev/null | awk '{print " " $9 ": " $5}'
fi
else
echo "Директория logs/ не найдена"
echo "Директория логов не найдена: $LOG_DIR"
echo "Запустите сервер для создания логов"
fi