Unter Linux können Sie das Festplattenkontingent mit einer der folgenden Methoden einrichten:
- Festplattenkontingentzuweisung für das Dateisystem
- Benutzer- oder gruppenbasierte Festplattenkontingentzuweisung
Beim benutzer- oder gruppenbasierten Kontingent sind die folgenden drei wichtigen Faktoren zu berücksichtigen:
- Hartes Limit – Wenn Sie beispielsweise 2 GB als hartes Limit angeben, kann der Benutzer nach 2 GB keine neuen Dateien erstellen
- Soft-Limit – Wenn Sie beispielsweise 1 GB als Soft-Limit angeben, erhalten Benutzer eine Warnmeldung „Festplattenkontingent überschritten“, sobald sie das 1-GB-Limit erreichen. Aber sie können immer noch neue Dateien erstellen, bis sie das harte Limit erreichen
- Kulanzzeitraum – Wenn Sie beispielsweise 10 Tage als Kulanzzeitraum angeben, werden Benutzern, nachdem sie ihr Hard Limit erreicht haben, weitere 10 Tage gewährt, um neue Dateien zu erstellen. In diesem Zeitraum sollten sie versuchen, das Kontingentlimit wieder zu erreichen.
1. Kontingentprüfung im Dateisystem aktivieren
Zuerst sollten Sie angeben, welche Dateisysteme für die Quota-Prüfung zugelassen sind.
Ändern Sie die /etc/fstab und fügen Sie die Schlüsselwörter usrquota und grpquota zum entsprechenden Dateisystem hinzu, das Sie überwachen möchten.
Das folgende Beispiel zeigt, dass sowohl die Benutzer- als auch die Gruppenkontingentprüfung auf /home filesystem
aktiviert ist# cat /etc/fstab LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2
Starten Sie den Server nach der obigen Änderung neu.
2. Anfängliche Quota-Prüfung auf dem Linux-Dateisystem mit QuotaCheck
Nachdem Sie die Datenträgerkontingentprüfung für das Dateisystem aktiviert haben, sammeln Sie zunächst alle Kontingentinformationen wie unten gezeigt.
# quotacheck -avug quotacheck: Scanning /dev/sda3 [/home] done quotacheck: Checked 5182 directories and 31566 files quotacheck: Old file not found. quotacheck: Old file not found.
Im obigen Befehl:
- a:Alle Kontingent-aktivierten Dateisysteme prüfen
- v:Ausführlicher Modus
- u:Auf Festplattenkontingent des Benutzers prüfen
- g:Auf Festplattenkontingent der Gruppe prüfen
Der obige Befehl erstellt eine Aquota-Datei für Benutzer und Gruppe im Dateisystemverzeichnis, wie unten gezeigt.
# ls -l /home/ -rw------- 1 root root 11264 Jun 21 14:49 aquota.user -rw------- 1 root root 11264 Jun 21 14:49 aquota.group
3. Weisen Sie einem Benutzer mit dem Befehl edquota ein Festplattenkontingent zu
Verwenden Sie den edquota-Befehl wie unten gezeigt, um die Kontingentinformationen für einen bestimmten Benutzer zu bearbeiten.
Um beispielsweise das Festplattenkontingent für den Benutzer „ramesh“ zu ändern, verwenden Sie den Befehl edquota, der die weichen und harten Grenzwerte wie unten gezeigt in einem Editor öffnet.
# edquota ramesh Disk quotas for user ramesh (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0
Sobald der Befehl edquota die Kontingenteinstellungen für den jeweiligen Benutzer in einem Editor öffnet, können Sie die folgenden Limits festlegen:
- Soft- und Hard-Limit für die Größe des Festplattenkontingents für den jeweiligen Benutzer.
- weiches und hartes Limit für die Gesamtzahl der Inodes, die für den jeweiligen Benutzer zulässig sind.
4. Melden Sie die Nutzung des Festplattenkontingents für Benutzer und Gruppen mit repquota
Verwenden Sie den repquota-Befehl wie unten gezeigt, um die Festplattenkontingentnutzung für die Benutzer und Gruppen zu melden.
# repquota /home *** Report for user quotas on device /dev/sda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 566488 0 0 5401 0 0 nobody -- 1448 0 0 30 0 0 ramesh -- 1419352 0 0 1686 0 0 john -- 26604 0 0 172 0 0
5. Quotecheck zum täglichen Cron-Job hinzufügen
Fügen Sie den Quotacheck zum täglichen Cronjob hinzu. Erstellen Sie eine Quotacheck-Datei wie unten gezeigt im Verzeichnis /etc/cron.daily, die den Quotacheck-Befehl jeden Tag ausführt. Dadurch wird die Ausgabe des Quotacheck-Befehls an die Root-E-Mail-Adresse gesendet.
# cat /etc/cron.daily/quotacheck quotacheck -avug