#!/bin/bash # Script manutenzione amministratore 00000000 # Generato automaticamente da NetGescon ADMIN_CODE="00000000" BASE_PATH="/var/www/netgescon/storage/app/amministratori/$ADMIN_CODE" LOG_FILE="$BASE_PATH/logs/sistema/maintenance.log" echo "๐Ÿงน Avvio manutenzione amministratore $ADMIN_CODE" | tee -a $LOG_FILE # Pulizia file temporanei vecchi (> 7 giorni) echo "๐Ÿ—‘๏ธ Pulizia file temporanei..." | tee -a $LOG_FILE find "$BASE_PATH/temp" -type f -mtime +7 -delete 2>/dev/null find "$BASE_PATH/temp" -type d -empty -delete 2>/dev/null # Pulizia log vecchi (> 90 giorni) echo "๐Ÿ“ Pulizia log vecchi..." | tee -a $LOG_FILE find "$BASE_PATH/logs" -name "*.log" -mtime +90 -delete 2>/dev/null # Pulizia backup vecchi (> 30 giorni) echo "๐Ÿ’พ Pulizia backup vecchi..." | tee -a $LOG_FILE find "$BASE_PATH/database/backups" -name "*.sql" -mtime +30 -delete 2>/dev/null # Verifica integritร  filesystem echo "๐Ÿ” Verifica integritร  filesystem..." | tee -a $LOG_FILE MISSING_DIRS=0 REQUIRED_DIRS=("documenti" "database" "logs" "reports" "temp" "archivio") for dir in "${REQUIRED_DIRS[@]}"; do if [ ! -d "$BASE_PATH/$dir" ]; then echo "โš ๏ธ Directory mancante: $dir" | tee -a $LOG_FILE mkdir -p "$BASE_PATH/$dir" MISSING_DIRS=$((MISSING_DIRS + 1)) fi done # Calcola statistiche TOTAL_SIZE=$(du -sh "$BASE_PATH" | cut -f1) FILE_COUNT=$(find "$BASE_PATH" -type f | wc -l) DIR_COUNT=$(find "$BASE_PATH" -type d | wc -l) echo "๐Ÿ“Š Statistiche:" | tee -a $LOG_FILE echo " ๐Ÿ“ Directory: $DIR_COUNT" | tee -a $LOG_FILE echo " ๐Ÿ“„ File: $FILE_COUNT" | tee -a $LOG_FILE echo " ๐Ÿ’ฝ Spazio: $TOTAL_SIZE" | tee -a $LOG_FILE echo " ๐Ÿ”ง Directory riparate: $MISSING_DIRS" | tee -a $LOG_FILE # Verifica permessi echo "๐Ÿ” Verifica permessi..." | tee -a $LOG_FILE find "$BASE_PATH" -type d -not -perm 755 -exec chmod 755 {} \; 2>/dev/null find "$BASE_PATH" -type f -not -perm 644 -exec chmod 644 {} \; 2>/dev/null echo "โœ… Manutenzione completata: $(date)" | tee -a $LOG_FILE echo "" >> $LOG_FILE