Atomare Schreibvorgänge (schützt vor Dateikorruption durch Stromausfall): - _atomic_write(): schreibt erst .tmp, sync auf Disk, dann os.replace() (POSIX-atomar) - save_cfg() / save_state() verwenden _atomic_write statt write_text() - Update-Install schreibt app.py.tmp, fsync, dann atomares Umbenennen Korruptionsschutz beim Laden: - load_cfg() / load_state(): bei JSON-Fehler Warnung loggen, .corrupt-Backup anlegen, sicher mit Standardwerten weiterlaufen statt zu crashen Schutz vor unvollständigen Kopien: - Jede Datei wird als .picopy_tmp kopiert, erst nach Abschluss atomar umbenannt - Duplikat-Skip prüft Dateigröße: stimmt sie nicht überein, war die Datei abgeschnitten und wird automatisch neu kopiert - .picopy_incomplete Marker-Datei im Zielordner während des Kopiervorgangs - Veraltete .picopy_tmp-Dateien werden beim Kopierstart bereinigt - subprocess.run(['sync']) vor dem Unmounten der Laufwerke Startup-Bereinigung: - cleanup_stale_mounts() beim Start: hängende /mnt/picopy-Mounts aus vorherigen Abstürzen werden sauber per umount -l entfernt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2 lines
6 B
Plaintext
2 lines
6 B
Plaintext
1.0.2
|