56 lines
2.0 KiB
Bash
Executable File
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
|