diagnosis sh

This commit is contained in:
user 2025-07-05 17:40:54 +03:00
parent 3613ed4962
commit 1e7f5eb196
1 changed files with 150 additions and 0 deletions

150
full_diagnosis.sh Normal file
View File

@ -0,0 +1,150 @@
#!/bin/bash
# MY Network Server Full Diagnosis Script
# Собирает всю информацию о состоянии сервера для удаленной диагностики
echo "=============================================="
echo "MY NETWORK SERVER DIAGNOSIS REPORT"
echo "Время: $(date)"
echo "Сервер: $(hostname)"
echo "=============================================="
echo ""
echo "=== 1. СИСТЕМНАЯ ИНФОРМАЦИЯ ==="
echo "OS: $(lsb_release -d 2>/dev/null | cut -f2 || cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)"
echo "Kernel: $(uname -r)"
echo "Uptime: $(uptime)"
echo "Disk space:"
df -h | grep -E "(/$|/home)"
echo "Memory:"
free -h
echo "Load average: $(cat /proc/loadavg)"
echo ""
echo "=== 2. СЕТЕВЫЕ ПОРТЫ И СОЕДИНЕНИЯ ==="
echo "Активные порты (LISTEN):"
sudo netstat -tulpn | grep LISTEN | sort -k4
echo ""
echo "Проверка ключевых портов:"
for port in 22 80 443 3000 5000 8080; do
if sudo netstat -tulpn | grep -q ":${port} "; then
echo "✅ Порт $port: АКТИВЕН"
else
echo "❌ Порт $port: НЕ АКТИВЕН"
fi
done
echo ""
echo "=== 3. СТАТУС СИСТЕМНЫХ СЛУЖБ ==="
echo "Docker service:"
sudo systemctl status docker --no-pager -l
echo ""
echo "SSH service:"
sudo systemctl status ssh --no-pager -l
echo ""
echo "Nginx service:"
sudo systemctl status nginx --no-pager -l
echo ""
echo "MyUploader service:"
sudo systemctl status myuploader --no-pager -l 2>/dev/null || echo "MyUploader service не найден"
echo ""
echo "=== 4. DOCKER ИНФОРМАЦИЯ ==="
echo "Docker version:"
docker --version 2>/dev/null || echo "Docker не установлен"
echo ""
echo "Docker-compose version:"
docker-compose --version 2>/dev/null || echo "Docker-compose не установлен"
echo ""
echo "Запущенные контейнеры:"
sudo docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}" 2>/dev/null || echo "Контейнеры не найдены"
echo ""
echo "Docker networks:"
sudo docker network ls 2>/dev/null || echo "Docker networks недоступны"
echo ""
echo "=== 5. MY-UPLOADER-BOT ПРОЕКТ ==="
PROJECT_DIR="/home/myuploader/my-uploader-bot"
if [ -d "$PROJECT_DIR" ]; then
echo "✅ Директория проекта найдена: $PROJECT_DIR"
echo "Содержимое директории:"
ls -la "$PROJECT_DIR"
echo ""
if [ -f "$PROJECT_DIR/docker-compose.production.yml" ]; then
echo "✅ Docker-compose файл найден"
echo "Статус compose проекта:"
cd "$PROJECT_DIR"
sudo docker-compose -f docker-compose.production.yml ps 2>/dev/null || echo "Ошибка получения статуса compose"
else
echo "❌ Docker-compose.production.yml не найден"
fi
else
echo "❌ Директория проекта не найдена: $PROJECT_DIR"
fi
echo ""
echo "=== 6. ЛОГИ КОНТЕЙНЕРОВ (последние 10 строк) ==="
for container in uploader-bot-app-1 uploader-bot-postgres-1 uploader-bot-nginx-1; do
echo "--- Логи $container ---"
sudo docker logs --tail=10 "$container" 2>/dev/null || echo "Контейнер $container не найден или не запущен"
echo ""
done
echo ""
echo "=== 7. NGINX КОНФИГУРАЦИЯ ==="
echo "Nginx конфигурация:"
sudo nginx -t 2>&1
echo ""
echo "Default site config:"
if [ -f "/etc/nginx/sites-enabled/default" ]; then
sudo cat /etc/nginx/sites-enabled/default
else
echo "❌ /etc/nginx/sites-enabled/default не найден"
fi
echo ""
echo "=== 8. SSH КОНФИГУРАЦИЯ ==="
echo "SSH config (основные параметры):"
sudo cat /etc/ssh/sshd_config | grep -E "^(Port|PasswordAuthentication|PubkeyAuthentication|PermitRootLogin)" || echo "SSH config недоступен"
echo ""
echo "=== 9. ФАЙРВОЛ (UFW) ==="
echo "UFW статус:"
sudo ufw status verbose 2>/dev/null || echo "UFW не установлен или недоступен"
echo ""
echo "=== 10. ЛОКАЛЬНЫЕ ТЕСТЫ СОЕДИНЕНИЙ ==="
echo "Тест локальных соединений:"
for port in 3000 5000 8080; do
if curl -s --max-time 3 http://localhost:$port/api/health > /dev/null 2>&1; then
echo "✅ localhost:$port/api/health - ДОСТУПЕН"
else
echo "❌ localhost:$port/api/health - НЕ ДОСТУПЕН"
fi
done
echo ""
echo "Тест nginx:"
curl -I http://localhost/ 2>/dev/null | head -5 || echo "❌ Nginx недоступен на localhost"
echo ""
echo "=== 11. ПРОЦЕССЫ ==="
echo "Процессы Python/Docker:"
ps aux | grep -E "(python|docker|nginx)" | grep -v grep
echo ""
echo "=== 12. RECENT SYSTEM LOGS ==="
echo "Последние системные ошибки:"
sudo journalctl --since "1 hour ago" --priority=err --no-pager -n 10 2>/dev/null || echo "Системные логи недоступны"
echo ""
echo "=============================================="
echo "ДИАГНОСТИКА ЗАВЕРШЕНА"
echo "Время завершения: $(date)"
echo "=============================================="
echo ""
echo "📋 КРАТКАЯ СВОДКА:"
echo "Скопируйте весь вывод этого скрипта и отправьте для анализа"
echo ""