netgescon-day0/storage/app/amministratori/00000000/scripts/maintenance.sh

56 lines
2.0 KiB
Bash
Executable File

#!/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