151 lines
3.6 KiB
Bash
Executable File
151 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "======================================"
|
|
echo " SERVER INFORMATION FOR TRAEFIK SETUP"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Sistema Operativo
|
|
echo "## SISTEMA OPERATIVO"
|
|
echo "---"
|
|
uname -a
|
|
echo ""
|
|
if [ -f /etc/os-release ]; then
|
|
cat /etc/os-release
|
|
fi
|
|
echo ""
|
|
|
|
# Docker
|
|
echo "## DOCKER"
|
|
echo "---"
|
|
if command -v docker &> /dev/null; then
|
|
echo "Docker instalado: SÍ"
|
|
docker --version
|
|
echo ""
|
|
echo "Docker daemon status:"
|
|
systemctl is-active docker 2>/dev/null || echo "No se puede verificar status (puede requerir sudo)"
|
|
echo ""
|
|
echo "Contenedores corriendo:"
|
|
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Ports}}" 2>/dev/null || echo "No se puede listar (puede requerir sudo)"
|
|
else
|
|
echo "Docker instalado: NO"
|
|
fi
|
|
echo ""
|
|
|
|
# Docker Compose
|
|
echo "## DOCKER COMPOSE"
|
|
echo "---"
|
|
if command -v docker-compose &> /dev/null; then
|
|
echo "Docker Compose instalado: SÍ"
|
|
docker-compose --version
|
|
elif docker compose version &> /dev/null; then
|
|
echo "Docker Compose (plugin) instalado: SÍ"
|
|
docker compose version
|
|
else
|
|
echo "Docker Compose instalado: NO"
|
|
fi
|
|
echo ""
|
|
|
|
# Puertos ocupados
|
|
echo "## PUERTOS CRÍTICOS"
|
|
echo "---"
|
|
echo "Verificando puertos 80, 443, 8080..."
|
|
for port in 80 443 8080; do
|
|
if command -v ss &> /dev/null; then
|
|
result=$(ss -tuln | grep ":$port " 2>/dev/null)
|
|
else
|
|
result=$(netstat -tuln 2>/dev/null | grep ":$port ")
|
|
fi
|
|
|
|
if [ -n "$result" ]; then
|
|
echo "Puerto $port: OCUPADO"
|
|
echo "$result"
|
|
else
|
|
echo "Puerto $port: LIBRE"
|
|
fi
|
|
done
|
|
echo ""
|
|
|
|
# Servicios web corriendo
|
|
echo "## SERVICIOS WEB DETECTADOS"
|
|
echo "---"
|
|
if command -v systemctl &> /dev/null; then
|
|
for service in nginx apache2 httpd caddy; do
|
|
if systemctl list-unit-files | grep -q "^$service.service"; then
|
|
status=$(systemctl is-active $service 2>/dev/null)
|
|
echo "$service: $status"
|
|
fi
|
|
done
|
|
else
|
|
echo "systemctl no disponible"
|
|
fi
|
|
echo ""
|
|
|
|
# Recursos del servidor
|
|
echo "## RECURSOS DEL SERVIDOR"
|
|
echo "---"
|
|
echo "CPU:"
|
|
grep -m1 "model name" /proc/cpuinfo 2>/dev/null || echo "No disponible"
|
|
echo "Cores: $(nproc 2>/dev/null || echo 'N/A')"
|
|
echo ""
|
|
echo "Memoria:"
|
|
free -h 2>/dev/null || echo "No disponible"
|
|
echo ""
|
|
echo "Disco:"
|
|
df -h / 2>/dev/null || echo "No disponible"
|
|
echo ""
|
|
|
|
# Networking
|
|
echo "## NETWORKING"
|
|
echo "---"
|
|
echo "IPs del servidor:"
|
|
if command -v ip &> /dev/null; then
|
|
ip -4 addr show | grep inet | awk '{print $2}' | grep -v "127.0.0.1"
|
|
else
|
|
ifconfig 2>/dev/null | grep "inet " | awk '{print $2}' | grep -v "127.0.0.1"
|
|
fi
|
|
echo ""
|
|
echo "Hostname:"
|
|
hostname
|
|
echo ""
|
|
|
|
# Dominios/DNS
|
|
echo "## DOMINIOS CONFIGURADOS (si existen)"
|
|
echo "---"
|
|
if [ -f /etc/hosts ]; then
|
|
echo "Entradas relevantes en /etc/hosts:"
|
|
grep -v "^#" /etc/hosts | grep -v "127.0.0.1.*localhost" | grep -v "::1" | grep -v "^$"
|
|
fi
|
|
echo ""
|
|
|
|
# Docker networks
|
|
echo "## DOCKER NETWORKS"
|
|
echo "---"
|
|
if command -v docker &> /dev/null; then
|
|
docker network ls 2>/dev/null || echo "No se puede listar (puede requerir sudo)"
|
|
else
|
|
echo "Docker no disponible"
|
|
fi
|
|
echo ""
|
|
|
|
# Directorio actual y permisos
|
|
echo "## INFORMACIÓN DEL DIRECTORIO"
|
|
echo "---"
|
|
echo "Directorio actual: $(pwd)"
|
|
echo "Usuario actual: $(whoami)"
|
|
echo "Permisos:"
|
|
ls -la $(pwd) 2>/dev/null | head -10
|
|
echo ""
|
|
|
|
# Variables de entorno relevantes
|
|
echo "## VARIABLES DE ENTORNO RELEVANTES"
|
|
echo "---"
|
|
echo "HOME: $HOME"
|
|
echo "USER: $USER"
|
|
echo "PATH: $PATH"
|
|
echo ""
|
|
|
|
echo "======================================"
|
|
echo " FIN DEL REPORTE"
|
|
echo "======================================"
|