Compare commits

...

20 Commits

Author SHA1 Message Date
alf
2a0b61ade7 logrotate.cfg gelöscht 2025-09-04 12:31:03 +00:00
alf
64cb694fb4 rotate.sh gelöscht 2025-09-04 12:30:58 +00:00
Alf
e6ce7a2727 Merge branch 'main' of http://100.87.87.6:3000/alf/rettedpv 2025-09-04 14:29:53 +02:00
Alf
7a0097d0c7 Auf neues Logging umgestellt 2025-09-04 14:29:12 +02:00
alf
d842c55f59 .gitignore aktualisiert 2025-07-23 08:13:40 +00:00
Alf
2979870916 Merge branch 'main' of http://100.87.87.6:3000/alf/rettedpv
Kleinere Änderungen bei rettedpv.sh. Änderungen bei rotate.sh: Packen der Archivdateien.
2025-07-23 10:11:01 +02:00
Alf
01b271ed98 Mi 23. Jul 10:11:00 CEST 2025 2025-07-23 10:11:00 +02:00
alf
a2ac9acf5d README.md aktualisiert 2025-07-14 11:13:36 +00:00
Alf
c44c752bc9 Mo 14. Jul 13:05:56 CEST 2025 2025-07-14 13:05:56 +02:00
Alf
969e1b1089 Neu: Logrotate 2025-07-11 10:55:30 +02:00
Alf
b0f799e2d6 Merge branch 'main' of http://100.87.87.6:3000/alf/rettedpv
Pullern vor Pushern
2025-07-10 14:35:01 +02:00
Alf
3d39a6c36b Aufhübschungen 2025-07-10 14:34:02 +02:00
alf
f4a86215cd README.md aktualisiert 2025-07-10 10:58:07 +00:00
Alf
d7eb0274ba Do 10. Jul 12:56:44 CEST 2025 2025-07-10 12:56:44 +02:00
Alf
f84b463b96 Do 10. Jul 12:52:25 CEST 2025 2025-07-10 12:52:25 +02:00
Alf
f1b2f599df Do 10. Jul 12:49:14 CEST 2025 2025-07-10 12:49:14 +02:00
Alf
d43b1bbecf Do 26. Jun 17:03:25 CEST 2025 2025-06-26 17:03:25 +02:00
Alf
cd406aba1d Do 26. Jun 17:02:44 CEST 2025 2025-06-26 17:02:44 +02:00
Alf
c933909cf1 Do 26. Jun 16:26:58 CEST 2025 2025-06-26 16:26:58 +02:00
Alf
a94f155566 Do 26. Jun 16:15:51 CEST 2025 2025-06-26 16:15:51 +02:00
15 changed files with 114 additions and 102 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
Archiv/
Backup/
log.txt
logrotate.status
*.gz
*.7z

BIN
Archiv.7z Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,67 +0,0 @@
Die Nutzung eines Large Language Models (LLM) in Ihren Firmenräumen, insbesondere wenn dabei Daten nach Art. 9 DSGVO (besondere Kategorien personenbezogener Daten) zum Einsatz kommen, ist ein komplexes Thema, das eine sorgfältige datenschutzrechtliche Prüfung erfordert. Hier ist eine Zusammenfassung der wichtigsten Punkte, die die DSGVO im Zusammenhang mit KI und Ihrem Vorhaben anspricht:
**1. Anwendbarkeit der DSGVO:**
\* Die DSGVO ist immer dann anwendbar, wenn personenbezogene Daten verarbeitet werden. Dies gilt auch für KI-Systeme.
\* Wenn Ihr LLM dazu dient, Dateien für Kunden zu erstellen und dabei personenbezogene Daten (insbesondere auch Art. 9 Daten) verwendet, liegt eine Datenverarbeitung im Sinne der DSGVO vor.
**2. Besondere Kategorien personenbezogener Daten (Art. 9 DSGVO):**
\* Art. 9 DSGVO listet "besondere Kategorien personenbezogener Daten" auf, die einen besonders hohen Schutz genießen (z.B. Gesundheitsdaten, ethnische Herkunft, politische Meinungen, biometrische Daten).
\* Die Verarbeitung dieser Daten ist grundsätzlich untersagt, es sei denn, es liegt eine der Ausnahmen nach Art. 9 Abs. 2 DSGVO vor.
\* **Für Ihr Vorhaben besonders relevant sind:**
\* **Ausdrückliche Einwilligung (Art. 9 Abs. 2 lit. a DSGVO):** Dies ist oft die sicherste Rechtsgrundlage, erfordert aber eine informierte und freiwillige Zustimmung der betroffenen Person.
\* **Notwendigkeit für arbeitsrechtliche oder sozialrechtliche Zwecke (Art. 9 Abs. 2 lit. b DSGVO):** Relevant, wenn die Daten im Kontext eines Beschäftigungsverhältnisses verarbeitet werden müssen.
\* **Rechtliche Verpflichtung (Art. 9 Abs. 2 lit. g DSGVO):** Wenn eine gesetzliche Vorschrift die Verarbeitung verlangt.
\* **Wesentliches öffentliches Interesse (Art. 9 Abs. 2 lit. g DSGVO):** Nur unter sehr engen Voraussetzungen.
\* **Wichtig:** Ein "berechtigtes Interesse" (Art. 6 Abs. 1 lit. f DSGVO) ist **keine** ausreichende Rechtsgrundlage für die Verarbeitung von Daten nach Art. 9 DSGVO.
**3. Rechtmäßigkeit der Verarbeitung (Art. 6 DSGVO):**
\* Selbst wenn keine Daten nach Art. 9 DSGVO verarbeitet werden, benötigen Sie immer eine Rechtsgrundlage nach Art. 6 DSGVO für die Verarbeitung personenbezogener Daten.
\* Gängige Rechtsgrundlagen sind:
\* **Einwilligung (Art. 6 Abs. 1 lit. a DSGVO):** Für nicht-besondere Daten eine gute Option.
\* **Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO):** Wenn die Verarbeitung zur Erfüllung eines Vertrages mit der betroffenen Person erforderlich ist.
\* **Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO):** Das Interesse Ihres Unternehmens muss die Interessen und Grundrechte der betroffenen Person überwiegen und es muss eine umfassende Interessenabwägung stattfinden.
**4. Datenschutzgrundsätze (Art. 5 DSGVO):**
\* **Rechtmäßigkeit, Verarbeitung nach Treu und Glauben, Transparenz:** Sie müssen die betroffenen Personen transparent über die Datenverarbeitung informieren (Datenschutzerklärung) und sicherstellen, dass die Nutzung des LLM den Erwartungen der Kunden entspricht.
\* **Zweckbindung:** Die Daten dürfen nur für den Zweck verarbeitet werden, für den sie erhoben wurden (hier: Unterstützung bei der Erstellung von Dateien für Kunden).
\* **Datenminimierung:** Es dürfen nur die Daten verarbeitet werden, die für den Zweck unbedingt erforderlich sind.
\* **Richtigkeit:** Die Ergebnisse des LLM müssen auf ihre Richtigkeit geprüft werden, um dem Recht auf Berichtigung nachzukommen. KI-Systeme können "Halluzinationen" erzeugen.
\* **Speicherbegrenzung:** Daten dürfen nicht länger als nötig gespeichert werden.
\* **Integrität und Vertraulichkeit (Sicherheit):** Es müssen geeignete technische und organisatorische Maßnahmen (TOMs) getroffen werden, um die Daten vor unbefugtem Zugriff, Verlust oder Zerstörung zu schützen.
**5. Datenschutz-Folgenabschätzung (DSFA) - Art. 35 DSGVO:**
\* Da Sie beabsichtigen, besondere Kategorien personenbezogener Daten (Art. 9 DSGVO) mit einem neuen KI-System zu verarbeiten, ist eine \*\*Datenschutz-Folgenabschätzung (DSFA)\*\* **zwingend** erforderlich.
\* Die DSFA muss die Risiken für die Rechte und Freiheiten der betroffenen Personen bewerten und Maßnahmen zur Risikominderung aufzeigen. Dies beinhaltet auch die Analyse möglicher "Halluzinationen" des LLM und deren Auswirkungen auf die Richtigkeit der erstellten Dateien.
**6. Betroffenenrechte (Art. 12-22 DSGVO):**
\* Die Rechte der betroffenen Personen (Auskunft, Berichtigung, Löschung, Widerspruch etc.) bleiben auch im Kontext der KI uneingeschränkt bestehen. Sie müssen in der Lage sein, diesen Rechten nachzukommen.
\* Insbesondere das Recht auf Auskunft kann bei komplexen KI-Systemen (Stichwort: Black Box) herausfordernd sein, da die genaue Funktionsweise und Entscheidungsfindung nicht immer transparent sind.
**7. Lokal betriebenes LLM als Vorteil:**
\* Der Betrieb des LLM auf einem **eigenen Gerät in Ihren Firmenräumen** ist aus Datenschutzsicht grundsätzlich positiv zu bewerten. Er reduziert das Risiko der Datenweitergabe an Dritte und ermöglicht eine größere Kontrolle über die Daten. Sie vermeiden so, dass Kundendaten in die Cloud externer Anbieter gelangen.
\* Dennoch müssen Sie die internen Sicherheitsmaßnahmen auf höchstem Niveau halten (Zugriffsbeschränkungen, Verschlüsselung etc.).
**Zusammenfassende Empfehlungen für Ihr Vorhaben:**
1\. **Rechtsgrundlage prüfen:** Klären Sie genau, auf welcher Rechtsgrundlage (insbesondere für Art. 9 Daten) Sie die Daten verarbeiten dürfen. Ohne eine gültige Rechtsgrundlage ist die Verarbeitung unzulässig. Die Einwilligung der betroffenen Personen ist hier oft der gangbarste Weg.
2. **Datenschutz-Folgenabschätzung (DSFA) durchführen:** Dies ist ein MUSS. Dokumentieren Sie darin alle Risiken und die geplanten Abhilfemaßnahmen.
3. **Transparenz schaffen:** Informieren Sie Ihre Kunden umfassend und verständlich darüber, wie ihre Daten durch das LLM verarbeitet werden.
4. **Technische und organisatorische Maßnahmen (TOMs) anpassen:** Sorgen Sie für eine robuste IT-Sicherheit (z.B. Zugriffskontrollen, Verschlüsselung der Daten, regelmäßige Sicherheitsupdates).
5. **Qualitätskontrolle des Outputs:** Implementieren Sie Prozesse, um die vom LLM generierten Inhalte auf Richtigkeit und Datenschutzkonformität zu überprüfen, bevor sie an Kunden weitergegeben werden. Ein "Human in the Loop" ist hier essenziell.
6. **Datenminimierung beachten:** Stellen Sie sicher, dass das LLM nur die Daten verarbeitet, die es wirklich benötigt.
7. **Mitarbeiter schulen:** Ihre Mitarbeiter, die mit dem LLM arbeiten, müssen umfassend in Datenschutzthemen und dem sicheren Umgang mit der KI geschult werden.
8. **Dokumentation:** Führen Sie ein Verarbeitungsverzeichnis gemäß Art. 30 DSGVO, das die Verarbeitungstätigkeiten im Zusammenhang mit dem LLM genau beschreibt.
Der Einsatz von LLMs ist mit besonderen datenschutzrechtlichen Herausforderungen verbunden, insbesondere wenn sensible Daten involviert sind. Eine gründliche Analyse und die Einhaltung der oben genannten Punkte sind entscheidend für einen datenschutzkonformen Betrieb. Es kann ratsam sein, zusätzlich rechtlichen Rat von einem spezialisierten Datenschutzexperten einzuholen.
## Zusätzlich lt. EU KI Act:
- Eingruppierung der KI nach Risiko-Kathegorie (eher "begrenztes" oder "minimales" Risiko)
- Besonderheit bei Allzweck-KI-Modellen:
- Technische Dokumentation
- Unerheblich: Downstream-Infos, Urheberrecht
- Transparenz über Trainingsdaten
- Transparenz über Einsatz der KI ggü. "Kunden" (ist LVR hier als Kunde zu sehen?)
- Jedenfalls DSFA
- Rechtlicher Rat könnte hilfreich sein
- Alles alles alles dokumentieren!!!

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,71 @@
# Rette DPV!
# 🛟 Datensicherungsskript mit rclone
Dieses Skript sichert regelmäßig Daten aus einer Nextcloud-Quelle in ein lokales Backup-Verzeichnis. Alte Versionen werden dabei archiviert.
## 📋 Funktionen
- Synchronisiert ein Verzeichnis (`ptv-nextcloud:/DPV`) mit einem lokalen Ordner `./Backup/`
- Verwendet `rclone --backup-dir`, um **ältere, geänderte oder gelöschte Dateien** in ein Archiv zu verschieben
- Erstellt pro Lauf ein neues Archivverzeichnis unter `./Archiv/<Datum-Zeit>`
- Protokolliert alle Vorgänge in rettedpv.log
- Entfernt leere Verzeichnisse im Archiv
## 🧱 Verzeichnisstruktur
```
.
├── Backup/ # Aktueller Stand der Daten
├── Archiv/
│ └── 2025-07-03-15-30/ # Frühere Versionen
└── rettedpv.sh # Das Backup-Script
```
## 🚀 Cronjob-Eintrag (Beispiel)
```bash
0 * * * * /pfad/zum/script.sh
```
→ Startet das Backup **jede Stunde zur vollen Stunde**.
> 📌 Stelle sicher, dass `rclone` im Pfad ist und alle Pfade absolut angegeben sind, wenn das Skript per `cron` läuft.
## ⚙️ Voraussetzungen
- `rclone` muss installiert und konfiguriert sein (Remote: `ptv-nextcloud`)
- Schreibrechte auf das Arbeitsverzeichnis (`./Backup`, `./Archiv`, `./log.txt`)
- GNU `date`, `find`, `mkdir` (standardmäßig in Linux vorhanden)
## 🔍 Logging & Fehlerbehandlung
- Alle Logeinträge landen in `rettedpv.log`
- Die Log-Datei liegt im örtlichen Gitea/logger/Logs-Verzeichnis
- Fehler von `rclone` erscheinen dort mit Zeitstempel
- Leere Verzeichnisse im Archiv werden automatisch gelöscht
- Das optionale Script "rotate.sh" rotiert log.txt und verhindert, dass die Datei zu groß wird.
## 🛠 Wiederherstellung
Die Dateien im `./Archiv/`-Ordner enthalten alte Versionen gelöschter oder veränderter Dateien. Du kannst sie manuell zurückkopieren.
## 🧪 Beispielausgabe (log.txt)
```
Thu Jul 3 15:30:01 CEST 2025 Starte Rettung…
...
Thu Jul 3 15:35:12 CEST 2025 Lösche leere Verzeichnisse…
Thu Jul 3 15:35:13 CEST 2025 Rettung beendet
```
## 🔒 Sicherheitshinweis
Dieses Skript **überschreibt** keine Daten, sondern nutzt versioniertes Backup über `--backup-dir`. Dennoch empfiehlt sich:
- Nur auf vertrauenswürdigen Systemen auszuführen
- Zugriff auf Backup-Ordner zu beschränken
---
**Lizenz**: MIT
**Autor**: _Alf_

25
log.txt
View File

@ -1,25 +0,0 @@
Do 26. Jun 16:09:10 CEST 2025 Starte Rettung…
Do 26. Jun 16:09:11 CEST 2025 Rettung beendet
Do 26. Jun 16:10:31 CEST 2025 Starte Rettung…
Do 26. Jun 16:10:32 CEST 2025 Rettung beendet
Do 26. Jun 16:11:47 CEST 2025 Starte Rettung…
2025/06/26 16:11:48 INFO : Aktennummern.ods: Moved (server-side)
2025/06/26 16:11:48 INFO : Aktennummern.ods: Copied (new)
2025/06/26 16:11:48 INFO :
Transferred: 33.628 KiB / 33.628 KiB, 100%, 0 B/s, ETA -
Checks: 8 / 8, 100%
Renamed: 1
Transferred: 1 / 1, 100%
Server Side Moves: 1 @ 33.625 KiB
Elapsed time: 0.6s
Do 26. Jun 16:11:48 CEST 2025 Rettung beendet

View File

@ -1,11 +1,39 @@
AArchiv="./Archiv/$(date +%Y-%m-%d-%H-%M)"
mkdir -p $AArchiv
#!/bin/bash
echo " " >>log.txt
echo " " >>log.txt
echo "$(date) Starte Rettung… " >>log.txt
rclone sync ptv-nextcloud:/DPV ./Backup/ -P --backup-dir=./$AArchiv --log-file="log.txt" --log-level=INFO
cd $GIT_PFAD/rettedpv
echo " " >>log.txt
echo "$(date) Rettung beendet " >>log.txt
find Archiv/* -type d -empty -delete
# === Konfiguration ===
REMOTE="ptv-nextcloud:/DPV"
BACKUP_DIR="./Backup"
ARCHIVE_BASE="./Archiv"
LOGFILE="$GIT_PFAD/logger/Logs/rettedpv.log"
source $GIT_PFAD/logger/logger.sh
log_init $LOGFILE
log_start
# === Zeitstempel & Archivverzeichnis ===
TIMESTAMP=$(date +%Y-%m-%d-%H-%M)
ARCHIVE_DIR="${ARCHIVE_BASE}/${TIMESTAMP}"
mkdir -p "$ARCHIVE_DIR"
# === Beginn der Sicherung ===
log_info ""
log_info ""
log_info "🔁 Starte Datensicherung…"
# === Synchronisierung mit rclone ===
gum spin --title "rclone läuft..." -- rclone sync "$REMOTE" "$BACKUP_DIR" \
--backup-dir="$ARCHIVE_DIR" \
--log-file="$LOGFILE" \
--log-level=INFO
log_info " ERR nach rclone: $?"
# === Aufräumen leerer Archivverzeichnisse ===
log_info "🧹 Entferne leere Verzeichnisse in $ARCHIVE_BASE"
find "$ARCHIVE_BASE" -type d -empty -delete
# === Ende der Sicherung ===
log_info "✅ Datensicherung abgeschlossen."
gum style --border normal --margin "1" --padding "1 2" --foreground 212 "✅ Backup abgeschlossen!"