# SOP: Bereinigung alter Datensätze (delete_old_records.py) ## 1. Zweck des Skripts Dieses Python-Skript dient der automatischen Bereinigung (Housekeeping) unserer MySQL-Datenbanken. Es entfernt veraltete Datensätze, die eine definierte Aufbewahrungsfrist (Retention Period) überschritten haben, um die Datenbankgröße zu kontrollieren und die Abfragegeschwindigkeit zu optimieren. ## 2. Voraussetzungen * **Python Version:** Mindestens Python 3.8. * **Bibliotheken:** `mysql-connector-python`, `python-dotenv`. * **Datenbankzugriff:** Das Skript benötigt einen Benutzer mit `DELETE`-Berechtigungen auf die entsprechenden Tabellen. ## 3. Konfiguration Die Steuerung des Skripts erfolgt über eine `.env`-Datei oder direkt im Skript-Header: * **DB_HOST:** IP des Datenbankservers (z. B. `10.102.1.65`). * **RETENTION_DAYS:** Anzahl der Tage, nach denen Daten gelöscht werden (Standard: X Tage). * **DRY_RUN:** Wenn auf `True` gesetzt, zeigt das Skript nur an, was gelöscht würde, ohne die Datenbank tatsächlich zu verändern. ## 4. Ausführung Es wird empfohlen, das Skript regelmäßig als Cronjob (Linux) oder Task Scheduler (Windows) auszuführen. ### Testlauf (Dry-Run): ```bash python3 delete_old_records.py --mode dry-run ``` ### Scharfe Ausführung: ```bash python3 delete_old_records.py --mode execute ``` ## 5. Monitoring & Logs Alle Löschvorgänge werden in der Standardausgabe und optional in einer Log-Datei protokolliert. Prüfen Sie regelmäßig die Anzahl der gelöschten Datensätze, um sicherzustellen, dass die Logik korrekt arbeitet. ## 6. Sicherheitshinweis **Achtung:** Gelöschte Daten können nicht ohne Backup wiederhergestellt werden. Führen Sie vor größeren Änderungen an der Aufbewahrungslogik immer ein Datenbank-Backup durch. --- *Erstellt für die IT-Dokumentation - Projekt: IT Internal Repository*