fix: kopieer met shutil.copyfile (data-only) i.p.v. copy/copy2
copy doet na copyfile ook copymode (os.chmod); op exfat met mountuid=1000 zijn alle bestanden eigendom van uid 1000 en wordt chmod/utime voor de niet-eigenaar service-gebruiker geweigerd (EPERM op elke kopie, ook na de copy2-fix). copyfile schrijft alleen data; verificatie gebeurt op grootte en mode/opnametijd voegen op exfat niets toe.
This commit is contained in:
parent
dd46ad6d3c
commit
69d08ba8ba
3 changed files with 19 additions and 16 deletions
12
README.md
12
README.md
|
|
@ -48,11 +48,13 @@ 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.
|
||||
- **`shutil.copyfile` i.p.v. `copy`/`copy2`** — `copy`/`copy2` doen na het kopiëren
|
||||
ook metadata-operaties op het doel (`chmod`, `utime`). Op de exfat-SSD
|
||||
(`uid=1000` → álle bestanden zijn eigendom van uid 1000, `allow_utime=0022`)
|
||||
worden die geweigerd voor een niet-eigenaar (EPERM); sinds de service als
|
||||
`aiaiaiaiagent` draait (voorheen root) faalde daardoor elke kopie. `copyfile`
|
||||
schrijft alleen data; mode is op exfat altijd 0777 en het opnamemoment staat al
|
||||
in de bestandsnaam — metadata-operaties voegen 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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue