| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- # Script per monitorare i log VPN in tempo reale
- # Salva come: storage/scripts/monitor-vpn-logs.sh
- # Uso: bash storage/scripts/monitor-vpn-logs.sh
- SCRIPT_DIR="$(dirname "$0")"
- LOG_FILE="$SCRIPT_DIR/../logs/vpn-connection.log"
- LARAVEL_LOG="/var/www/polizia/storage/logs/laravel.log"
- echo "=== VPN LOG MONITOR ==="
- echo "Data: $(date)"
- echo "Log file: $LOG_FILE"
- echo "Laravel log: $LARAVEL_LOG"
- echo ""
- echo "Premi Ctrl+C per fermare il monitoraggio"
- echo "==========================================="
- echo ""
- # Funzione per mostrare log colorati
- show_colored_log() {
- while IFS= read -r line; do
- if [[ $line == *"ERROR"* ]]; then
- echo -e "\033[31m$line\033[0m" # Rosso
- elif [[ $line == *"SUCCESS"* ]]; then
- echo -e "\033[32m$line\033[0m" # Verde
- elif [[ $line == *"INFO"* ]]; then
- echo -e "\033[34m$line\033[0m" # Blu
- elif [[ $line == *"WARNING"* ]]; then
- echo -e "\033[33m$line\033[0m" # Giallo
- else
- echo "$line"
- fi
- done
- }
- # Crea il file di log se non esiste
- if [[ ! -f "$LOG_FILE" ]]; then
- echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] Log monitoring started" >> "$LOG_FILE"
- fi
- # Mostra le ultime 20 righe esistenti
- if [[ -f "$LOG_FILE" ]]; then
- echo "=== ULTIMI LOG ESISTENTI ==="
- tail -20 "$LOG_FILE" | show_colored_log
- echo ""
- echo "=== MONITORING IN TEMPO REALE ==="
- fi
- # Monitora in tempo reale
- tail -f "$LOG_FILE" 2>/dev/null | show_colored_log &
- VPN_LOG_PID=$!
- # Se esiste anche il log Laravel, monitoralo per errori VPN
- if [[ -f "$LARAVEL_LOG" ]]; then
- tail -f "$LARAVEL_LOG" 2>/dev/null | grep -E "(VPN|vpn)" | while read line; do
- echo -e "\033[35m[LARAVEL] $line\033[0m" # Magenta
- done &
- LARAVEL_LOG_PID=$!
- fi
- # Gestisci l'interruzione
- trap 'echo ""; echo "Stopping log monitoring..."; kill $VPN_LOG_PID 2>/dev/null; [[ -n $LARAVEL_LOG_PID ]] && kill $LARAVEL_LOG_PID 2>/dev/null; exit 0' INT
- # Mantieni lo script in esecuzione
- wait
|