[Megoldva] bash, find, stat, chmod, ... tömeges fájl attribútum (file mode) módosítás - hogyan?

Sziasztok!
Egy "egysorosra" lenne szükségem a következő probléma megoldására:

Adott egy könyvtárstruktúra (fájlszerver adatai) és ennek inkrementális (több száz) napi mentését tartalmazó másik könyvtárstruktúra. Egy olyan ZFS poolra mentettem egy azóta megszűnt ext4-es VPS-ről, amely poolon nem volt bekapcsolva az acltype=posixacl, így minden file 777 módot kapott (access permissions of file system objects 777). Innentől kezdve az rsync -aA újra le akarja menteni a teljes struktúrát, mivel nem egyeznek az attribútumok/acl/módok.

TL;DR
Van egy könyvtárstruktúra, amely összes fájlján végigmenve, (pl. stat-al) lekérve az attribútumait (file mode) be kellene állítani (pl.: chmod) a mentésEKben (minden egyes napiban) pontosan ugyan arra a fájlra pontosan ugyan azt a mod értéket.

Pl.:
/adatok/Fontos fájlok/irat.doc ->
2022-02-14T00:00:00/adatok/Fontos fájlok/irat.doc
2022-02-13T00:00:00/adatok/Fontos fájlok/irat.doc
.
.
.
2019-06-12T00:00:00/adatok/Fontos fájlok/irat.doc

Ha Neked 1 perc, kérlek írd ide a megoldásodat és örök hálám fog üldözni!
Előre is köszönöm!

Hozzászólások

Ha csak a jogbitek kellenek, akkor talán kezdetnek jó:

find . -type f -exec \
  sh -c "echo chmod --reference='{}' /????-??-??T??:??:??/*/'{}'" ';'

Ha párszor kipróbálva jónak tűnik, akkor vedd ki belőle az 'echo'-t

Szerkesztve: 2022. 02. 16., sze – 23:06

Nem ide