feat: die Sicherung liegt an drei Orten statt an zweien
Der letzte offene Punkt aus docs/ideen.md. Ein ZWEITES LAUFWERK, einstellbar im
Panel unter Einstellungen -> Sicherung; sichern.ps1 legt das Archiv dort ab,
vergleicht die Pruefsumme und duennt auch dort aus.
WARUM DAS NICHT DASSELBE IST WIE DIE NEXTCLOUD. Die hilft, wenn der ganze
Rechner weg ist -- aber wer 335 MB, spaeter 100 GB, zurueckholen muss, laedt sie
ueber die Leitung. Das zweite Laufwerk ist in Minuten zurueckgespielt. Zwei
Fragen, zwei Antworten, deshalb zwei Ziele.
UND ES WARNT, WENN ES DIESELBE PLATTE IST -- das ist der eigentliche Inhalt.
Ein zweiter Ordner auf C: sieht im Panel genauso gruen aus wie eine echte zweite
Platte und hilft gegen gar nichts. Verglichen wird die PHYSISCHE Platte und
nicht der Laufwerksbuchstabe: zwei Partitionen derselben NVMe sterben zusammen.
Nachgemessen in beide Richtungen:
C:\backup gegen D:\backup -> Nr. 0 gegen Nr. 1 -> "andere Platte"
C:\backup gegen C:\Users -> Nr. 0 gegen Nr. 0 -> Warnung
Auf diesem Rechner sind das zwei getrennte NVMe zu je 954 GB.
GEMESSEN AN EINEM ECHTEN LAUF, keinem Trockentest: 4630 Eintraege, 335,9 MB,
auf beiden lokalen Zielen und in der Nextcloud dieselbe Pruefsumme
FFCE4D0A7310... -- identisch.
Geprueft wird mit der Pruefsumme und nicht mit der Dateigroesse: eine
abgebrochene Kopie auf eine volle Platte hat oft genau die richtige Laenge und
trotzdem Nullen am Ende. Schlaegt das Kopieren oder der Vergleich fehl, ist der
ganze Lauf gescheitert (exit 1, ok:false) -- ein Ziel, das still ausfaellt, ist
genau das, wogegen das hier gebaut ist.
Der Bericht traegt jetzt zweit:true. Fehlt das Feld, ist KEIN zweites Ziel
eingerichtet -- es steht absichtlich nicht als false da, denn das laese sich wie
"hat nicht geklappt".
Die Statusseite zaehlt die Orte mit: "sicherung ok an 3 Orten" statt nur "ok".
Eine Sicherung, die es nur einmal gibt, ist gruen und trotzdem eine, die ein
Plattenausfall mitnimmt -- das gehoert dorthin, wo jemand hinsieht.
Der Pfad wird beim Speichern auf seine FORM geprueft (Laufwerksbuchstabe oder
UNC-Freigabe): der Dienst laeuft im Container und kann ihn nicht nachschlagen,
aber ein relativer Pfad ist mit Sicherheit ein Tippfehler -- und ein Tippfehler
in einem Sicherungsziel faellt sonst erst auf, wenn man die Sicherung braucht.
Nachgemessen: "backup/woauchimmer" -> 400 mit Text.
Und zurueckspielen.ps1 sagt im Kopf, was zu tippen ist, wenn genau diese Platte
das Problem ist. Das ist der Fall, fuer den das Ganze da ist, und niemand soll
ihn um vier Uhr nachts erst herleiten muessen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,10 +21,22 @@
|
||||
# Bestand ausliefern und raeumt hinterher auf. Der echte Dienst wird dabei
|
||||
# nicht angefasst -- er laeuft die ganze Zeit weiter.
|
||||
|
||||
# WENN GENAU DIESE PLATTE DAS PROBLEM IST: die Sicherung liegt seit dem zweiten
|
||||
# Ziel auch woanders. Das ist der Fall, fuer den sie da ist, und niemand soll
|
||||
# ihn um vier Uhr nachts erst herleiten muessen --
|
||||
#
|
||||
# pwsh -File tools\zurueckspielen.ps1 -Ordner D:\backup\d4rk_media -Echt
|
||||
#
|
||||
# und wenn auch die zweite Platte weg ist, holt man das Archiv aus der Nextcloud
|
||||
# (Sicherungen/d4rk_media) und zeigt mit -Archiv direkt darauf. Welche Ziele
|
||||
# eingerichtet sind, steht im Panel unter Einstellungen -> Sicherung.
|
||||
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
# Ohne Angabe: das neueste Archiv im Sicherungsordner.
|
||||
[string]$Archiv = '',
|
||||
# Die ZWEITE Platte steht in den Einstellungen; ohne Angabe wird hier
|
||||
# gesucht, weil das der Ordner ist, in den sichern.ps1 zuerst schreibt.
|
||||
[string]$Ordner = 'C:\backup\d4rk_media',
|
||||
[string]$Container = 'd4rk-media',
|
||||
[string]$Volume = 'd4rk_media_media-data',
|
||||
|
||||
Reference in New Issue
Block a user