fix: kopieer met shutil.copy i.p.v. copy2 (EPERM op exfat voor niet-eigenaar)

copy2 preserveert timestamps via os.utime; de exfat-SSD draait met
uid=1000,allow_utime=0022, waardoor een niet-eigenaar (service-gebruiker
aiaiaiaiagent sinds 2026-10-13, voorheen root) geen willekeurige
tijdsstempels mag zetten -> EPERM op elke kopie. Mode is op exfat altijd
0777 en het opnamemoment staat al in de bestandsnaam.
This commit is contained in:
Eddy de Vink 2026-10-15 20:09:55 +02:00
commit dd46ad6d3c
3 changed files with 18 additions and 8 deletions

View file

@ -48,6 +48,11 @@ SD-kaartlezer die midden in de transfer offline klapt, `I/O error`, `device offl
verwijderd, wordt eerst een bestand van de kaart gelezen. Een onleesbare kaart
resulteert in een duidelijke Matrix-"GESTOPT" en **niets** wordt gewist.
- **Retry per bestand** — 3 pogingen met 2s pauze; vangt transiënte USB-glitches.
- **`shutil.copy` i.p.v. `copy2`** — `copy2` preserveert tijdsstempels via `os.utime`;
op de exfat-SSD (`uid=1000,allow_utime=0022`) weigert dat voor niet-eigenaars
(EPERM). Sinds de service als `aiaiaiaiagent` draait (werd voorheen als root
gedraaid) faalde daardoor elke kopie. Mode is op exfat altijd 0777 en het
opnamemoment staat al in de bestandsnaam — metadata-preserve voegt niets toe.
- **Early-abort** — bij 5 opeenvolgende fouten stopt het script en stuurt het een
Matrix-bericht met de laatste fout. Bronbestanden worden nooit verwijderd zonder
geverifieerde kopie.