Spostamento server
Collapse
X
-
Io pure.Originariamente Scritto da Virulogo.88 Visualizza Messaggiosolo io ho problemi a leggere gli ultimi messaggi?
Anche a rispondere.
E' molto buggato il fatto di menzionare un messaggio, andare nell'ultima pagina od altre pagine (va un po' a caso), oltre i vari "errori" che appaiono random, etc.
L'esperienza dallo smartphone rispetto al pc ad ogni modo è ulteriormente peggiore.
Leave a comment:
-
-
Ecco, già mi fido in po' di più.Originariamente Scritto da M K K Visualizza MessaggioEra cluade comunque
Comunque i bug ci sono ed al momento non ho tempo di guardarci, forse in settimana o la prossima.
Leave a comment:
-
-
sergio mi sa che ti conviene aprire su forumfree un forum con 3 sezioni, 5 3d e via. tanto quello è il traffico attuale del forum tolti numeri inesistenti gonfiati dai bot
Leave a comment:
-
-
Grazie ChatGPT, quella roba infinita non la lancio neppure morto, preferisco ottimizzare manualmente o per lo meno un pezzo alla volta e poi verificare
Maxcachesize è già stato impostato a 2 Giga max, ma nonostante quello arriva a 200Giga in un paio di giorni.
La query, invece di DELETE selettivo, preferisco il TRUNCATE, sono tabelle che possono essere completamente rimosse, ed il CRON ovviamente è già stato impostato stamattina, in mancanza di chiarimenti da parte dei tecnici.
Leave a comment:
-
-
Prevenzione futura
**Nel file config.php di vBulletin, aggiungi/modifica:**
```php
$config['Misc']['maxcachesize'] = 10485760; // 10MB max per cache entry
```
**Configura un cron job per pulizia automatica:**
```bash
# Ogni notte alle 3:00
0 3 * * * mysql bodyweb -e "DELETE FROM cache WHERE expires > 0 AND expires < UNIX_TIMESTAMP(); DELETE FROM cacheevent WHERE expires > 0 AND expires < UNIX_TIMESTAMP();"
```
Leave a comment:
-
-
T'ho
#!/bin/bash
# ============================================
# Script di Pulizia e Monitoraggio Cache vBulletin
# ============================================
# Configurazione
DB_NAME="bodyweb"
DB_USER="root"
DB_PASS="" # Inserisci la password o usa --defaults-file
BACKUP_DIR="/root/vbulletin_backups"
LOG_FILE="/var/log/vbulletin_cache_cleanup.log"
ALERT_EMAIL="admin@example.com" # Email per alert
CACHE_SIZE_THRESHOLD_GB=50 # Alert se cache supera questo valore
# Colori per output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# ============================================
# Funzioni
# ============================================
log_message() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
error_exit() {
echo -e "${RED}[ERROR] $1${NC}" | tee -a "$LOG_FILE"
exit 1
}
success_message() {
echo -e "${GREEN}[OK] $1${NC}" | tee -a "$LOG_FILE"
}
warning_message() {
echo -e "${YELLOW}[WARNING] $1${NC}" | tee -a "$LOG_FILE"
}
# Funzione per eseguire query MySQL
mysql_query() {
if [ -z "$DB_PASS" ]; then
mysql -u "$DB_USER" "$DB_NAME" -e "$1" 2>/dev/null
else
mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" -e "$1" 2>/dev/null
fi
}
# Funzione per ottenere dimensione tabella in GB
get_table_size_gb() {
local table=$1
local size=$(mysql_query "SELECT ROUND(((data_length + index_length) / 1024 / 1024 / 1024), 2) AS size_gb FROM information_schema.TABLES WHERE table_schema = '$DB_NAME' AND table_name = '$table';" | tail -n1)
echo "$size"
}
# Funzione per contare righe
count_rows() {
local table=$1
local count=$(mysql_query "SELECT COUNT(*) FROM $table;" | tail -n1)
echo "$count"
}
# ============================================
# Backup Struttura Tabelle
# ============================================
backup_structure() {
log_message "=== Backup Struttura Tabelle ==="
mkdir -p "$BACKUP_DIR"
local timestamp=$(date +%Y%m%d_%H%M%S)
local backup_file="$BACKUP_DIR/cache_structure_$timestamp.sql"
if [ -z "$DB_PASS" ]; then
mysqldump -u "$DB_USER" --no-data "$DB_NAME" cache cacheevent session > "$backup_file"
else
mysqldump -u "$DB_USER" -p"$DB_PASS" --no-data "$DB_NAME" cache cacheevent session > "$backup_file"
fi
if [ $? -eq 0 ]; then
success_message "Backup struttura salvato in: $backup_file"
else
error_exit "Errore durante il backup della struttura"
fi
}
# ============================================
# Analisi Tabelle
# ============================================
analyze_tables() {
log_message "=== Analisi Tabelle Cache ==="
# Cache principale
local cache_size=$(get_table_size_gb "cache")
local cache_rows=$(count_rows "cache")
local cache_expired=$(mysql_query "SELECT COUNT(*) FROM cache WHERE expires > 0 AND expires < UNIX_TIMESTAMP();" | tail -n1)
log_message "Tabella CACHE:"
log_message " - Dimensione: ${cache_size} GB"
log_message " - Righe totali: ${cache_rows}"
log_message " - Righe scadute: ${cache_expired}"
# Cache event
local cacheevent_size=$(get_table_size_gb "cacheevent")
local cacheevent_rows=$(count_rows "cacheevent")
local cacheevent_expired=$(mysql_query "SELECT COUNT(*) FROM cacheevent WHERE expires > 0 AND expires < UNIX_TIMESTAMP();" | tail -n1)
log_message "Tabella CACHEEVENT:"
log_message " - Dimensione: ${cacheevent_size} GB"
log_message " - Righe totali: ${cacheevent_rows}"
log_message " - Righe scadute: ${cacheevent_expired}"
# Session
local session_size=$(get_table_size_gb "session")
local session_rows=$(count_rows "session")
local session_expired=$(mysql_query "SELECT COUNT(*) FROM session WHERE lastactivity < UNIX_TIMESTAMP() - 86400;" | tail -n1)
log_message "Tabella SESSION:"
log_message " - Dimensione: ${session_size} GB"
log_message " - Righe totali: ${session_rows}"
log_message " - Righe scadute (>24h): ${session_expired}"
# Searchlog
local searchlog_size=$(get_table_size_gb "searchlog")
local searchlog_rows=$(count_rows "searchlog")
log_message "Tabella SEARCHLOG:"
log_message " - Dimensione: ${searchlog_size} GB"
log_message " - Righe totali: ${searchlog_rows}"
# Alert se cache troppo grande
if (( $(echo "$cache_size > $CACHE_SIZE_THRESHOLD_GB" | bc -l) )); then
warning_message "ALERT: Cache supera ${CACHE_SIZE_THRESHOLD_GB}GB! Dimensione attuale: ${cache_size}GB"
if [ -n "$ALERT_EMAIL" ]; then
echo "Cache vBulletin su $(hostname) ha raggiunto ${cache_size}GB" | mail -s "ALERT: Cache vBulletin troppo grande" "$ALERT_EMAIL"
fi
fi
}
# ============================================
# Pulizia Cache Scadute
# ============================================
clean_expired_cache() {
log_message "=== Pulizia Cache Scadute ==="
# Pulizia cache principale
log_message "Pulizia cache scadute..."
local deleted_cache=$(mysql_query "DELETE FROM cache WHERE expires > 0 AND expires < UNIX_TIMESTAMP(); SELECT ROW_COUNT();" | tail -n1)
success_message "Cancellate $deleted_cache righe dalla tabella cache"
# Pulizia cacheevent
log_message "Pulizia cacheevent scadute..."
local deleted_cacheevent=$(mysql_query "DELETE FROM cacheevent WHERE expires > 0 AND expires < UNIX_TIMESTAMP(); SELECT ROW_COUNT();" | tail -n1)
success_message "Cancellate $deleted_cacheevent righe dalla tabella cacheevent"
# Pulizia sessioni vecchie (>24h)
log_message "Pulizia sessioni scadute..."
local deleted_sessions=$(mysql_query "DELETE FROM session WHERE lastactivity < UNIX_TIMESTAMP() - 86400; SELECT ROW_COUNT();" | tail -n1)
success_message "Cancellate $deleted_sessions righe dalla tabella session"
}
# ============================================
# Pulizia Searchlog Vecchi
# ============================================
clean_old_searchlog() {
log_message "=== Pulizia Searchlog Vecchi ==="
# Mantieni solo gli ultimi 30 giorni
log_message "Pulizia searchlog oltre 30 giorni..."
local deleted_searchlog=$(mysql_query "DELETE FROM searchlog WHERE dateline < UNIX_TIMESTAMP() - (30 * 86400); SELECT ROW_COUNT();" | tail -n1)
success_message "Cancellate $deleted_searchlog righe dalla tabella searchlog"
}
# ============================================
# Ottimizzazione Tabelle
# ============================================
optimize_tables() {
log_message "=== Ottimizzazione Tabelle ==="
warning_message "ATTENZIONE: L'ottimizzazione può richiedere molto tempo su tabelle grandi!"
log_message "Ottimizzazione cache..."
mysql_query "OPTIMIZE TABLE cache;" > /dev/null
success_message "Tabella cache ottimizzata"
log_message "Ottimizzazione cacheevent..."
mysql_query "OPTIMIZE TABLE cacheevent;" > /dev/null
success_message "Tabella cacheevent ottimizzata"
log_message "Ottimizzazione session..."
mysql_query "OPTIMIZE TABLE session;" > /dev/null
success_message "Tabella session ottimizzata"
log_message "Ottimizzazione searchlog..."
mysql_query "OPTIMIZE TABLE searchlog;" > /dev/null
success_message "Tabella searchlog ottimizzata"
}
# ============================================
# Pulizia DRASTICA (usa con cautela)
# ============================================
truncate_cache() {
warning_message "=== PULIZIA DRASTICA - TRUNCATE TABELLE ==="
warning_message "Questa operazione cancellerà TUTTA la cache!"
read -p "Sei sicuro di voler continuare? (scrivi 'SI' per confermare): " confirm
if [ "$confirm" != "SI" ]; then
log_message "Operazione annullata dall'utente"
return
fi
log_message "TRUNCATE cache..."
mysql_query "TRUNCATE TABLE cache;"
success_message "Tabella cache svuotata"
log_message "TRUNCATE cacheevent..."
mysql_query "TRUNCATE TABLE cacheevent;"
success_message "Tabella cacheevent svuotata"
warning_message "Ricordati di rigenerare la cache da Admin CP: Maintenance → Rebuild"
}
# ============================================
# Report Finale
# ============================================
final_report() {
log_message "=== Report Finale ==="
local cache_size=$(get_table_size_gb "cache")
local cacheevent_size=$(get_table_size_gb "cacheevent")
local session_size=$(get_table_size_gb "session")
local searchlog_size=$(get_table_size_gb "searchlog")
log_message "Dimensioni finali:"
log_message " - cache: ${cache_size} GB"
log_message " - cacheevent: ${cacheevent_size} GB"
log_message " - session: ${session_size} GB"
log_message " - searchlog: ${searchlog_size} GB"
}
# ============================================
# Menu Principale
# ============================================
show_menu() {
echo ""
echo "=========================================="
echo " Gestione Cache vBulletin"
echo "=========================================="
echo "1) Analisi tabelle (solo report)"
echo "2) Pulizia cache scadute (sicuro)"
echo "3) Pulizia completa (cache + searchlog)"
echo "4) Ottimizzazione tabelle (lento)"
echo "5) TRUNCATE cache (DRASTICO - cancella tutto)"
echo "6) Operazione completa (backup + pulizia + ottimizza)"
echo "7) Esci"
echo "=========================================="
read -p "Scegli un'opzione: " choice
case $choice in
1)
analyze_tables
;;
2)
backup_structure
clean_expired_cache
final_report
;;
3)
backup_structure
clean_expired_cache
clean_old_searchlog
final_report
;;
4)
warning_message "L'ottimizzazione può bloccare le tabelle per molto tempo!"
read -p "Continuare? (y/n): " opt_confirm
if [ "$opt_confirm" = "y" ]; then
optimize_tables
fi
;;
5)
truncate_cache
final_report
;;
6)
backup_structure
analyze_tables
clean_expired_cache
clean_old_searchlog
read -p "Vuoi ottimizzare le tabelle? (y/n): " opt_choice
if [ "$opt_choice" = "y" ]; then
optimize_tables
fi
final_report
;;
7)
log_message "Script terminato"
exit 0
;;
*)
echo "Opzione non valida"
;;
esac
}
# ============================================
# Main
# ============================================
log_message "=========================================="
log_message "Script avviato"
log_message "=========================================="
# Controllo prerequisiti
if ! command -v mysql &> /dev/null; then
error_exit "MySQL client non trovato"
fi
if ! command -v bc &> /dev/null; then
warning_message "bc non trovato, installalo per calcoli precisi: apt-get install bc"
fi
# Se viene passato un argomento, esegui in modalità automatica
if [ "$1" = "auto" ]; then
log_message "Modalità automatica attivata"
analyze_tables
clean_expired_cache
clean_old_searchlog
final_report
exit 0
fi
# Altrimenti mostra il menu interattivo
while true; do
show_menu
echo ""
read -p "Premi INVIO per continuare..."
done
Leave a comment:
-
-
Comunque si, ci sono problemi strani che vanno analizzati, ad esempio io da loggato, posto, rispondo ad alcuni post, ma se controllo da non loggato i miei post non si vedono.
Il problema vero è che non ho tempo di perdere ore a cercare la causa. Ho aperto un thread nel vbulletin forum dell'assistenza, vediamo un po' , anche loro sembra che brancolano spesso nel buio.
Leave a comment:
-
-
Prrrr.....Originariamente Scritto da zuse Visualizza Messaggio" ragazzi con l'ai ho integrato un sistema chat 2.0 fluido supportato da anti freezing system gaviscon plus premium XHTML che non manda in overheating il server centrale e permette Call inclusive tra segreterie transgender qui in USA ed è scalabile quindi ho già proposto a milioni di piccole medie impresa americane e senza fare più niente guadagno miliardi ogni mese"
Sempre Sergio
" Va beh amici, a parte i mille bug, il server che si impappina, le rep sparite, 50k visite bot , post che non si aggiornano, mancata compatibilità con mobile ed altri mille problemi che fanno rimpiangere il forum del 1999, per il resto mi sembra vada bene no?"
Leave a comment:
-
-
MKK grazie, ma quello viene fatto costantemente, fosse quello, sarebbe stato risolto nel 1249Originariamente Scritto da M K K Visualizza MessaggioPulisci le cache , le altre volte avevi risolto
Anzi, tecnicamente, dopo avere risolto alcuni giorni fa il problema della CPU al 500%, ancora prima dei BUG, il problema da risolvere è che la cache non si resetta come dovrebbe, ma va resetta manualmente. Due giorni e ci sono code di cache di 200Giga, il disco è 400, questo è il primo problema che va risolto per non fare crashare il server, ancora prima dei bug.
Leave a comment:
-
-
" ragazzi con l'ai ho integrato un sistema chat 2.0 fluido supportato da anti freezing system gaviscon plus premium XHTML che non manda in overheating il server centrale e permette Call inclusive tra segreterie transgender qui in USA ed è scalabile quindi ho già proposto a milioni di piccole medie impresa americane e senza fare più niente guadagno miliardi ogni mese"
Sempre Sergio
" Va beh amici, a parte i mille bug, il server che si impappina, le rep sparite, 50k visite bot , post che non si aggiornano, mancata compatibilità con mobile ed altri mille problemi che fanno rimpiangere il forum del 1999, per il resto mi sembra vada bene no?"
Leave a comment:
-
Leave a comment: