Dateien mit "falschem" chmod finden

fx123

New Member
Hallo,

ich habe einen Verzeichnisbaum mit mehreren Unterverzeichnissen in denen Bilder liegen. Diese Bilder haben normalerweise immer chmod 755. Gelegentlich kommt es aber vor, das beim Übertragen eines Bildes auf den Server ein Fehler auftritt und die Bilder nicht mit chmod 755 sondern mit 600 im Verzeichnis landen.

Als Workaround läuft zurzeit ein Cronjob der einmal am Tag ein "chmod -R 755 dir/" rekursiv über das Verzeichnis laufen lässt. Problem ist, dass es mittlerweile soviele Verzeichnisse/Dateien sind, das das extrem langsam ist (und teilweise sogar den Server in die Knie zwingt. Vermutlich liegt es daran, dass chmod jedem File neue Rechte gibt, auch wenn es bei 99,999 eigentlich nicht nötig wäre.

Ich suche deshalb eine Möglichkeit (am besten mit find) nur Dateien auszuwählen, die nicht 755 haben.

Ideen?
 
Einmalig:
Code:
find /path/ -type d -print0 | xargs -0 chmod 0755
find /path/ -type f -print0 | xargs -0 chmod 0644

Nach einem Sync:
Code:
find /path/ -type d ! -perm 0755 -print0 | xargs -0 chmod 0755
find /path/ -type f ! -perm 0644 -print0 | xargs -0 chmod 0644
 
Ich würde dennoch zunächst versuchen die Ursache für den Fehler zu finden. Eventuell kannst du auch irgendwo eine umask ändern.
 
Back
Top