Wie kann man find in einem shellskript nur in Verzeichnissen…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Ralph Lindner
Date:  
To: LUSC Liste
Subject: Wie kann man find in einem shellskript nur in Verzeichnissen mit Berechtigung ausführen?
hallo LIste,

mit folgendem "/etc/cron.daily/Papierkorb-leeren" lösche ich alten Müll
aus meinen CIFS "Papierkörben":

$cat Papierkorb-leeren
#!/bin/sh
# siehe
https://agentur-lindner.com/2008/08/papierkorb-fur-windows-user-auch-mit-samba-server-freigabe/
# Sämtliche Dateien in Verzeichnissen mit dem Namen ".Papierkorb" die
älter sind als 14 Tage sollen gelöscht werden.
# Diese Dateien sind mit Samba-Clients gelöschte Dateien (siehe smb.conf).
# Zum Test des obigen Kommandos empfehle ich -exec durch -ok zu ersetzen
– so muss man jedes Kommando bestätigen.
find / -type f -wholename "*/.Papierkorb/*" -ctime +14 -exec rm "{}" \;
find / -type f -wholename "*/Trash/*" -ctime +14 -exec rm "{}" \;
# leere Papierkorbverzeichnisse werden ebenfalls gelöscht
find / -depth -type d -empty -wholename "*/.Papierkorb/*" -exec rmdir
"{}" \;
find / -depth -type d -empty -wholename "*/Trash/*" -exec rmdir "{}" \;

Das funktioniert auch ganz ordentlich. Das Problem ist nur, ich bekomme
jedes mal eine Fehlermeldung, da auch die Verzeichnisse ohne
Zugriffsberechtigung durchsucht werden. Hat jemand eine Idee, wie ich
das ändern könnte? (2>/dev/null wäre die am wenigsten schöne
Möglichkeit, krieg ich aber auch nicht hin)

...
find: ‘/run/user/112/gvfs’: Keine Berechtigung
find: ‘/proc/8273’: Datei oder Verzeichnis nicht gefunden
run-parts: /etc/cron.daily/Papierkorb-leeren exited with return code 1

Viele Grüße und Danke für Lösungsvorschläge
Ralph

-- 
Mailing-Liste der Linux User Schwabach (LUSC) e.V.
Vor und beim Posten bitte
        => http://lusc.de/List-Netiquette <=    und
        => http://lusc.de/List-Howto      <=    beachten. Danke!