Hallo,
Ich habe mich dazu entschieden einen Cronjob zu nutzen, um regelmäßig den tatsächlich genutzen Platz mit dem Quota aus der Plesk Datenbank zu vergleichen.
Warum aus der Plesk Datenbank? Schien mir einfacher, es gibt wohl andere Wege die Quota abzufragen we z. B. über IMAP Verbindung nach dem Wert zu fragen. Die Quota sind ebenfalls auf dem Dateisystem hinterlegt in .@quota Dateien. Allerdings gibt es domainbasierte Quota und mailboxbasierte... alles viel zu stressig ;-)
Kurze Erklärung
============
Es gibt 3 Dateien:
Die eine steuert das ganze Geschehen. Die anderen enthalten Funktionen für die Datenbankabfragen und zum Messen des belegten Speichers auf dem Dateisystem.
Bevor man das Skript ausführen kann, muss die eine funktionsfähige php.ini Datei z. B. nach /root/ kopiert werden. Der Wert safe_mode muss auf Off geschaltet werden.
Das ganze kann man dann einfach so ausführen (Annahme alle 3 Dateien sind in /root):
/usr/bin/php5 --php-ini /root/php.ini /root/test_mailbox_quota.php all >> /var/log/mailboxes.log
Ich habe ein Argument "all" eingebaut, das eigentlich keinen Sinn ergibt. Ich hatte zunächst vor, verschiedene Aktionen zu implementieren, aber bis jetzt keine Lust/Zeit gehabt.
Das Skript ist natürlich nur auf eigene Gefahr zu nutzen; es gibt gewiss elegantere Methoden eine solche Warnfunktion zu programmieren. Aber sie funktioniert bei mir.
Eine offensichtliche Restriktion besteht für Mailboxen, die auf Subdomains angelegt sind, dafür müsste die Datei mailbox_quota_test angepasst werden.
So, vielleicht hat jemand davon einen Nutzen...
PS: Allen drei Dateien unbedingt die Endung .txt enfernen. Upload Anforderung ;-)
#########
#########
Auszug wie es in /var/log/mailboxes.log aussieht:
----------------------------------------
Date: 2008-01-11 20:13:20
Name:
[email protected]
Mailboxsize: 99.81 MBytes
Mailboxquota: 976.56 MBytes
Free to use: 876.756 MBytes ( 90% free)
Name:
[email protected]
Mailboxsize: 100.51 KBytes
Mailboxquota: 976.56 MBytes
Free to use: 976.464 MBytes ( 100% free)
Name:
[email protected]
Mailboxsize: 100.51 Bytes
Mailboxquota: 976.56 MBytes
Free to use: 976.562 MBytes ( 100% free)
Wenn eine Mailbox zu voll wird (wird 1x täglich gecheckt) wird eine Mail an einen vorkonfigurierten Admin geschickt mit der betroffenen E-Mail Adresse. Andere Aktionen sind natürlich denkbar. U. a. auch nach 70% oder 80% den Nutzer automatisch aufmerksam zu machen, so daß es vielleicht erst gar nicht zum Vollwerden kommt...
So long...