ids.alfacom.it/extracted_idf/COMANDI_CRONTAB.md
marco370 0bfe3258b5 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 1c71ce6e-1a3e-4f53-bb5d-77cdd22b8ea3
2025-11-11 09:15:10 +00:00

5.4 KiB

🕐 CONFIGURAZIONE CRONTAB SISTEMA DDoS DETECTION

🚀 INSTALLAZIONE RAPIDA

# 1. Rendi eseguibile lo script di setup
chmod +x setup_crontab.sh

# 2. Esegui la configurazione automatica
./setup_crontab.sh

📋 CONFIGURAZIONE CRONTAB MANUALE

Se preferisci configurare manualmente il crontab, usa questi comandi:

1. Modifica il crontab

crontab -e

2. Aggiungi queste righe:

# ============================================
# SISTEMA DDoS DETECTION - CONFIGURAZIONE AUTOMATICA  
# ============================================

# Training ogni 12 ore (alle 00:00 e 12:00)
0 */12 * * * cd /percorso/completo/del/progetto && python3 analisys_02.py --training-hours 0.01 --max-records 500000 --force-training >> /root/training.log 2>&1

# Verifica processo detect ogni 5 minuti (riavvia se non attivo)
*/5 * * * * /percorso/completo/del/progetto/check_detect.sh >> /root/cron_ddos.log 2>&1

# Pulizia log settimanale (ogni domenica alle 02:00)
0 2 * * 0 find /root -name "*.log" -size +100M -exec truncate -s 50M {} \; >> /root/cron_ddos.log 2>&1

# Restart completo del sistema ogni settimana (domenica alle 03:00)
0 3 * * 0 /percorso/completo/del/progetto/restart_detect.sh >> /root/cron_ddos.log 2>&1

🔄 AVVIO MANUALE PROCESSO DETECT

Se vuoi avviare manualmente il processo detect in background:

# Avvio in background con nohup
nohup python3 detect_multi_03.py --ciclo --pausa 5 --batch-size 20000 --sensibility 1 --cleanup --retention-days 0 >> /root/detect.log 2>&1 &

# Salva il PID per controllo successivo
echo $! > /tmp/detect_ddos.pid

📊 MONITORAGGIO E LOG

Visualizzazione log in tempo reale:

# Log rilevamento DDoS (quello che hai chiesto)
tail -f /root/detect.log

# Log training (addestramento modelli)
tail -f /root/training.log

# Log crontab (errori/info gestione automatica)
tail -f /root/cron_ddos.log

Stato dei processi:

# Verifica processo detect attivo
ps aux | grep detect_multi

# Verifica PID salvato
cat /tmp/detect_ddos.pid

# Lista completa processi python
ps aux | grep python3

Stato crontab:

# Visualizza crontab attuale
crontab -l

# Visualizza log crontab di sistema
tail -f /var/log/cron

# Test manuale job crontab
./check_detect.sh

🛠️ SCRIPT DI CONTROLLO

check_detect.sh

Verifica ogni 5 minuti che il processo detect sia attivo:

  • Se non trova il processo, lo riavvia automaticamente
  • Se il log non viene aggiornato da più di 10 minuti, riavvia il processo
  • Gestisce il file PID per il controllo

restart_detect.sh

Restart completo settimanale del sistema:

  • Termina il processo esistente gracefully
  • Pulisce file temporanei
  • Riavvia il processo detect

⚙️ PARAMETRI CONFIGURATI

Training (ogni 12 ore):

  • --training-hours 0.01: Training rapido (36 secondi)
  • --max-records 500000: Massimo 500k record per training
  • --force-training: Forza training anche se modelli esistono

Detection (continuo):

  • --ciclo: Esecuzione continua
  • --pausa 5: Pausa 5 secondi tra cicli
  • --batch-size 20000: 20k record per batch
  • --sensibility 1: Massima sensibilità (più aggressivo)
  • --cleanup: Pulizia automatica IP vecchi
  • --retention-days 0: Rimuove IP immediatamente (test)

🔧 COMANDI UTILI

Controllo manuale:

# Restart manuale detect
./restart_detect.sh

# Stop processo detect
kill $(cat /tmp/detect_ddos.pid)

# Avvio manuale training
python3 analisys_02.py --training-hours 0.01 --max-records 500000 --force-training

# Test connessione database
python3 analisys_02.py --test

Gestione log:

# Pulizia manuale log grandi
find /root -name "*.log" -size +100M -exec truncate -s 50M {} \;

# Backup log prima della pulizia
cp /root/detect.log /root/detect_backup_$(date +%Y%m%d).log

# Rotazione log manuale
mv /root/detect.log /root/detect_old.log && touch /root/detect.log

Debug e troubleshooting:

# Verifica permessi script
ls -la *.sh

# Test script controllo
bash -x ./check_detect.sh

# Verifica sintassi crontab
crontab -l | crontab

📅 SCHEDULING DETTAGLIATO

Operazione Frequenza Orario Comando
Training Ogni 12 ore 00:00, 12:00 analisys_02.py
Check Detect Ogni 5 minuti Continuo check_detect.sh
Pulizia Log Settimanale Domenica 02:00 truncate log > 100MB
Restart Settimanale Domenica 03:00 restart_detect.sh

⚠️ NOTE IMPORTANTI

  1. Percorsi assoluti: Il crontab usa percorsi assoluti, assicurati che siano corretti
  2. Permessi: Gli script devono essere eseguibili (chmod +x)
  3. Output log: Tutti gli output sono redirezionati ai file di log
  4. Gestione errori: Gli script gestiscono automaticamente errori e restart
  5. Monitoraggio: Il sistema si auto-monitora e auto-ripara
  6. Backup: Il crontab esistente viene salvato automaticamente

🎯 RISULTATO FINALE

Con questa configurazione avrai:

  • Training automatico ogni 12 ore per modelli sempre aggiornati
  • Detection continuo con massima sensibilità (sensibility 1)
  • Monitoraggio automatico e restart in caso di problemi
  • Log centralizzati in /root/detect.log per tail -f
  • Pulizia automatica per evitare accumulo log
  • Restart settimanale per mantenere il sistema pulito