Spamdyke Aufräumscript

haggybear

Registered User
Mir ist gerade was beim Spamdyke Aufräumscript von Huschi?(Bin mir nicht sicher ob das von Huschi ist!) aufgefallen.

Da fehlt IMHO was wichtiges. Das Script räumt zwar leere und abgelaufene Files ab, aber nicht die leeren Verzeichnisse. Daher wird der Verzeichnisbaum immer größer.

Also an's Ende des Aufräumscriptes noch folgende Zeilen (natürlich anzupassen an die eigene Filestruktur!)

PHP:
for i in `ls -1 /var/qmail/spamdyke/greylist`; do
     echo "Checke /var/qmail/spamdyke/greylist/$i/";
     /usr/bin/find /var/qmail/spamdyke/greylist/$i/ -depth -type d -empty -delete;
done
Gruß
Haggy


PS: Achtung: nur GNU find kennt den Parameter "-empty"
 
Last edited by a moderator:
Also wenn ich das einfüge kommt bei einem Suse 9.3 folgender Fehler, bei 10.3. scheint es okay zu sein und es kommt keine Fehlermeldung.

Checke /var/qmail/spamdyke/greylist/xxx.de/
/usr/bin/find: /var/qmail/spamdyke/greylist/xxx.de/: No such file or directory
*** /etc/psa/plesk-cron.daily/spamdyke.sh Failed (code=1) ***

jemand eine Idee, habe die Pfade überprüft und die stimmen.
 
(Bin mir nicht sicher ob das von Huschi ist!)
Das in meinem Howto entstammt von den find's aus der Install-Doku von Spamdyke. Die Berechnung per bc hingegen stammt von mir.

Rein interessehalber:
Warum nutzt Du noch -depth? Macht es wirklich einen Unterschied ob mit oder ohne?

huschi.
 
Naja ich denke es ist einfach ein Stueckchen schneller. Weil ich ja einfach die Suche umdrehe, also von unten nach oben.

Gruss Haggy
 
Vielleicht ist meine Frage von weiter oben untergegangen.

Gibt es irgendetwas unter Suse 10.3, dass angepasst werden muss? Der Pfad stimmt ja soweit.
 
Nein die Frage ist nicht Untergegangen. Aber - gestatte mir meine Ehrlichkeit - sie war geringfügig überflüssig.

Denn, wie wäre es, wenn Du einfach in den Manpages nachschaust, ob Dein installiertes find den Parameter "-empty" kennt?
Oder es einfach in Deiner Console testest? Mehr als eine Fehlermeldung kann er auch nicht bringen.

huschi.
 
Habe es jetzt mit -empty eingefügt und es hat wunderbar geklappt. Glleich mehrere tausend Ordner gelöscht, aber wie gewünscht nicht alle :)

Unter einem "normalen" Suse 10.3 mit Plesk gibt es also keinerlei Probleme
 
Ich verstehe leider nicht ganz was dieser ` akzent immer heißt. Wenn ich das rüberkopiere wird das nicht so übernommen sondern der Buchstabe danach wird zu einem Großbuchstaben und wird unterstrichen. Passiert auch wenn ich das manuell mache.
Ist das so gedacht?
Benutzt joe als Programm.
//edit
lag wohl an joe, mit nano konnte ich die Zeichen reinmachen und nun geht das skript auch.
 
Last edited by a moderator:
Bei Joe die Taste ` zweimal drücken.
Dieses Zeichen heißt Backtick. Es führt den darin stehenden Befehl in einer Shell aus und liefert das Ergebnis als String zurück.
Hier ist es der ls-Befehl, der die Dateinamen zeilenweise ausgibt die dann von der for-Schleife einzeln verarbeitet werden.
Diese Umständlichkeit braucht es auch. Wenn man den find direkt auf /var/qmail/spamdyke/greylist/ loslassen würde, könnte ggf. dieses Verzeichnis selbst gelöscht werden. Und das wäre für Spamdyke fatal.

huschi.
 
Back
Top