Hallo Alexander, On 10/03/2011 12:46 PM, Alexander Pichler wrote:
Ich habe hier einen Mailserver (mit Exim), der die Postfächer von rund 2.000 Domains verwaltet. Nun will ich die Grösse der einzelnen ... Dazu habe ich als Grösse einmal "200MB und grösser" gewählt und
Zunächst einmal muss man wohl festhalten, dass Deine Anfrage auf alle Fälle eine IO-Last erzeugen muss. Wenn Du nach 200 MB und größer suchst, dann sind 10 MB pro Postfach offensichtlich nicht unplausibel. 2000 Domains enthalten mindestens 2000 Postfächer, nehme ich an. Also kommst Du in die Größenordnung von 20 GB, die Du regelmäßig in ihrer Größe abschätzen willst. Ganz ohne IO geht das nicht. Mir fallen zwei Lösungen + eine Idee ein. 1. Quota. Richte auf den Maildirs Quota ein. Die dürfen beliebig groß sein, aber das Quota-System schreibt für Dich permanent mit, wieviel Platz wer verbraucht. 2. Cronjob Wieso so ein kompliziertes `find`? Was spricht gegen du -sm /opt/*/*/Maildir gegebenenfalls du -sm /opt/*/*/Maildir | sort -n im Cronjob? Letzteres sortiert Dir die großen Maildirs nach unten, so dass Du leicht sehen kannst, welche größer als 200 MB sind. Dafür kommt die Ausgabe aber erst nachdem alle Verzeichnisse durchsucht wurden. Das kann also dauern. 3. Statistischer Ansatz Wenn Du Lust hast, kannst Du stattdessen auch etwas witzigeres basteln, was die Systemlast einstellbar macht. Wähle in regelmäßigen Abständen (hier ist die Einstellmöglichkeit), ein Postfach per Zufall aus und ermittle seine Größe. Wenn es mehr als 200 MB enthält gib eine Meldung aus. Wenn es weniger als 200 MB enthält, setze ein Gewicht fest, das die Wahrscheinlichkeit steuert, dass dieses Postfach bald wieder auf seine Größe untersucht wird. Wenn das Postfach erst 1 MB groß ist, kann man bis zur nächsten Kontrolle bestimmt länger warten, als wenn es 199 MB groß ist. Das Gewicht kann nichtlinear von der Postfachgröße abhängen und es kann von der Änderung der Postfachgröße seit der letzten Kontrolle abhängen usw. Herzliche Grüße Jan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org