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

@ -153,7 +153,12 @@ def copy_file(src, dst, attempts=MAX_RETRIES, delay=RETRY_DELAY):
last_error = None
for attempt in range(1, attempts + 1):
try:
shutil.copy2(src, dst)
# copy (niet copy2): copy2 preserveert timestamps via os.utime, en exfat
# mountuid=1000 + allow_utime=0022 weigeren dat voor niet-eigenaars —
# daarmee faalde elke kopie toen de service als aiaiaiaiagent ging
# draaien (EPERM). Op exfat is mode altijd 0777 en staat het
# opnamemoment al in de bestandsnaam (YYYYMMDDHHMMSS).
shutil.copy(src, dst)
return
except OSError as e:
last_error = e