docs: Befund 1 -- was gebaut wurde und was ausserhalb des Repos liegt
Deploy / check (push) Canceled after 0s
Deploy / deploy (push) Canceled after 0s

Die Abholung laeuft taeglich um 03:30 -- nach der Sicherung des Bots (ab 03:00)
und vor der von d4rk_media (04:30), damit nicht zwei Vorgaenge gleichzeitig auf
derselben Platte arbeiten.

Ueber die geplante Aufgabe gemessen, nicht von Hand: Ergebnis 0, Archiv auf
Platte Nr. 1 statt Nr. 0, Pruefsumme identisch, 55 Tabellen und 86
Einstellungen im ausgepackten Archiv, last_zweitziel steht in der Datenbank.

Zwei Dinge liegen ausserhalb des Repos und stehen deshalb im Bericht, damit sie
nach einem Neuaufsetzen nicht fehlen: die Arbeitskopie unter
Desktop\d4rkbot (vorher gab es gar keine, der Bot lief nur aus Portainers
Checkout) und die Aufgabe "d4rkbot Sicherung abholen". Sie startet pwsh ueber
den stabilen Ausfuehrungsalias und nicht ueber den Pfad mit Versionsnummer --
genau daran hing bei d4rk_media eine Sicherung, die beim naechsten
PowerShell-Update aufgehoert haette zu laufen.

Offen bleibt: beide Kopien liegen im SELBEN RECHNER. Gegen einen Plattenausfall
hilft das jetzt, gegen Feuer oder eine verschluesselte Maschine nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-12 15:19:22 +02:00
co-authored by Claude Opus 5
parent 720785c175
commit 6057bdb0d7
+56 -5
View File
@@ -287,12 +287,9 @@ zwischen dem 11. und dem 12. Verglichen wird zeitgleich — Archiv gegen die
Datenbank, aus der es gerade entstanden ist —, also stört das nicht. Wissen Datenbank, aus der es gerade entstanden ist —, also stört das nicht. Wissen
sollte man es trotzdem, bevor jemand alte Archive gegen die heutige Zahl hält. sollte man es trotzdem, bevor jemand alte Archive gegen die heutige Zahl hält.
### Was offen bleibt: Befund 1 ### Befund 1 — siehe unten
Die Sicherung liegt **weiterhin im selben Volume** wie die Datenbank. Der Der ist am selben Tag noch angegangen worden.
eingebaute Ausweg (`backup_channel_id`) braucht eine Kanal-ID, die nur du geben
kannst — ein privater Kanal, in dem der Bot Dateien anhängen darf. Ein Klick in
Setup → Einstellungen, und der Zweig läuft.
--- ---
@@ -386,3 +383,57 @@ bauen" das, was man beim Ausrollen will, und wer später von Hand
`docker compose up -d` tippt, bekommt dann dasselbe Ergebnis wie die Automatik. `docker compose up -d` tippt, bekommt dann dasselbe Ergebnis wie die Automatik.
Wer sie nicht will, kann sie folgenlos entfernen. Wer sie nicht will, kann sie folgenlos entfernen.
---
## Befund 1: die Sicherung verlässt jetzt das Volume
`tools/abholen.ps1`, täglich um **03:30** — nach der Sicherung des Bots (ab
03:00) und vor der von `d4rk_media` (04:30), damit nicht zwei Vorgänge
gleichzeitig auf derselben Platte arbeiten.
Es **sichert nicht**. Das Archiv baut der Bot selbst; hier wird nur abgeholt —
und zwar so, dass am Ende feststeht, dass die Kopie heil ist, und nicht nur,
dass ein Kopierbefehl keinen Fehler geworfen hat: Prüfsumme im Container gegen
die Kopie draußen, dann auspacken und die Datenbank darin öffnen.
Echter Lauf über die geplante Aufgabe:
```
Zustand: Ready Ergebnis: 0 Naechster Lauf: 13.08.2026 03:30
d4rkbot-2026-08-12.db.gz 993.332 Bytes
andere Platte: Nr. 1 statt Nr. 0
identisch (ff08516d293d...)
in der Sicherung: 55 Tabellen, 86 Einstellungen
last_zweitziel = { ok: true, ziel: "D:\backup\d4rkbot", … }
```
### Was außerhalb des Repos liegt
Zwei Dinge, die ein `git clone` nicht mitbringt — sie stehen hier, damit sie
nach einem Neuaufsetzen nicht fehlen:
| Was | Wo |
|---|---|
| Arbeitskopie | `C:\Users\Darkster\Desktop\d4rkbot` — vorher gab es keine, der Bot lief nur aus Portainers Checkout |
| Geplante Aufgabe | `d4rkbot Sicherung abholen`, täglich 03:30, als `Darkster`/Interactive |
Die Aufgabe startet `pwsh.exe` über den **stabilen Ausführungsalias** unter
`LOCALAPPDATA` und nicht über den Pfad mit Versionsnummer. Genau daran hing bei
`d4rk_media` eine Sicherung, die beim nächsten PowerShell-Update aufgehört
hätte zu laufen.
### Und was weiter offen ist
Beide Kopien liegen **im selben Rechner**. Gegen einen Plattenausfall hilft das
jetzt, gegen Feuer, Diebstahl oder eine verschlüsselte Maschine nicht. Dafür
gibt es zwei Wege, und sie schließen sich nicht aus:
1. **`backup_channel_id`** setzen — der eingebaute Weg, ein privater Kanal, in
dem der Bot Dateien anhängen darf. Kostet einen Klick. Grenze: 9 MB je
Datei, heute bei 993 KB, hochgerechnet gegen Ende Oktober bei rund 6 MB.
2. **In die Nextcloud**, wie `d4rk_media` es tut. `tools/sichern.ps1` dort
enthält den WebDAV-Teil fertig (`curl`, `MKCOL`, `PUT`, Prüfsumme
zurückgeholt, `PROPFIND` zum Ausdünnen) — er ließe sich übernehmen.