System ist ein Debian Wheezy auf dem das Ziel sein soll Dateien mit einem bestimmten Inhalt / String in einem Ordner zu löschen. Genauer geschrieben ist es ein Ordner eines Dovecot IMAP Servers. Da hier nur bestimmte Dateien gelöscht werden sollen und nicht alle habe ich folgendes im Mailverzeichnis /var/mail/… durchgeführt.
Anzahl der Dateien:
# find -type f |wc -l
58080
davon Dateien mit dem Inhalt „User unknown“:
# find -type f -exec grep -q -i ‚User unknown‘ ‚{}‘ \; -print |wc -l
50191
Und nun das löschen all dieser Datei und noch als Boni mit der benötigten Zeit:
# time find -type f -exec grep -q -i ‚User unknown‘ ‚{}‘ \; -delete
real 2m41.712s
user 2m13.380s
sys 1m5.200s
Was wird hier gemacht?
time = dient der Zeitmessung und gibt uns obiges Ergebnis
find -type f = gibt im aktuellen Verzeichnis allen Dateien zurück
exec = führt nachfolgenden Befehl, also grep ausgrep -q -i = sucht innerhalb der Datei (-q) silent in der Ausgabe und egal ob Groß- oder Kleingeschrieben (-i) nach folgendem String ‚User unknow‘
‚{}‘ \; = gehört zum exec und führt nachfolgenden Befehl nachgelagert wenn, der vorherige ein positives Ergebnis liefert, aus Achtung zwischen Hochkomma und Backslash ein Leerzeichen setzen
– delete = löscht entsprechend dem Ergebnis der vorherigen Abfrage und Rückgabe die Dateien
Anmerkung zum Dovecot und dem löschen von Mails. Dies ist nur dann möglich, wenn Dovecot vom Typ Maildir eingerichtet ist. Hierbei liegt jede Mail als einzelne Datei in einem entsprechendem Ordner vor. Dovecot organisiert seine Datenbank, nach dem löschen, automatisch korrekt neu. Im Gegenzug zum Mbox, wo alle Mails in einer Datei liegen, wäre obiges so nicht möglich.
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.