#!/bin/bash # PointCab Webexport Server - Bereinigungsscript set -e # Farben RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' SERVER_DIR="/var/www/pointcab_webexport_server" BACKUP_DIR="$SERVER_DIR/backups" LOG_RETENTION_DAYS=7 BACKUP_RETENTION_DAYS=30 echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}PointCab Webexport - Bereinigung${NC}" echo -e "${GREEN}========================================${NC}" echo "" # Root-Check if [ "$EUID" -ne 0 ]; then echo -e "${RED}Bitte als Root ausführen: sudo ./cleanup.sh${NC}" exit 1 fi echo -e "${YELLOW}[1/5] PM2 Logs rotieren...${NC}" pm2 flush echo -e "${GREEN}✓ PM2 Logs geleert${NC}" echo -e "\n${YELLOW}[2/5] Alte Backups löschen (älter als $BACKUP_RETENTION_DAYS Tage)...${NC}" if [ -d "$BACKUP_DIR" ]; then OLD_BACKUPS=$(find "$BACKUP_DIR" -maxdepth 1 -type d -mtime +$BACKUP_RETENTION_DAYS 2>/dev/null | wc -l) if [ "$OLD_BACKUPS" -gt 0 ]; then find "$BACKUP_DIR" -maxdepth 1 -type d -mtime +$BACKUP_RETENTION_DAYS -exec rm -rf {} \; echo -e "${GREEN}✓ $OLD_BACKUPS alte Backups gelöscht${NC}" else echo -e "${GREEN}✓ Keine alten Backups gefunden${NC}" fi else echo -e "${YELLOW}⚠ Backup-Verzeichnis nicht gefunden${NC}" fi echo -e "\n${YELLOW}[3/5] System-Logs bereinigen (älter als $LOG_RETENTION_DAYS Tage)...${NC}" find /var/log -name "*.log" -mtime +$LOG_RETENTION_DAYS -delete 2>/dev/null || true find /var/log -name "*.gz" -mtime +$LOG_RETENTION_DAYS -delete 2>/dev/null || true echo -e "${GREEN}✓ System-Logs bereinigt${NC}" echo -e "\n${YELLOW}[4/5] Temporäre Dateien löschen...${NC}" rm -rf /tmp/upload_* 2>/dev/null || true rm -rf /tmp/tmp-* 2>/dev/null || true echo -e "${GREEN}✓ Temporäre Dateien gelöscht${NC}" echo -e "\n${YELLOW}[5/5] npm Cache leeren...${NC}" npm cache clean --force 2>/dev/null || true echo -e "${GREEN}✓ npm Cache geleert${NC}" echo "" echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}Bereinigung abgeschlossen!${NC}" echo -e "${GREEN}========================================${NC}" echo "" # Speicherplatz anzeigen echo -e "${YELLOW}Aktueller Speicherplatz:${NC}" df -h / echo "" echo -e "${YELLOW}Verzeichnisgrößen:${NC}" du -sh $SERVER_DIR/nodejs_space/uploads 2>/dev/null || echo "uploads: nicht gefunden" du -sh $SERVER_DIR/backups 2>/dev/null || echo "backups: nicht gefunden"