pointcab_webexport/scripts/cleanup.sh

72 lines
2.4 KiB
Bash
Executable File

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