Linux命令 quota - 顯示磁盤已使用的空間與限制

2022-03-17 16:10 更新

quota

顯示磁盤已使用的空間與限制

補(bǔ)充說明

quota命令 用于顯示用戶或者工作組的磁盤配額信息。輸出信息包括磁盤使用和配額限制。

語法

quota(選項)(參數(shù))

選項

-g:列出群組的磁盤空間限制;
-q:簡明列表,只列出超過限制的部分;
-u:列出用戶的磁盤空間限制;
-v:顯示該用戶或群組,在所有掛入系統(tǒng)的存儲設(shè)備的空間限制;
-V:顯示版本信息。

參數(shù)

用戶或者工作組:指定要顯示的用戶或者工作組。

實例

我們可以限制某一群組所能使用的最大磁盤配額,而且可以再限制某一使用者的最大磁盤配額 ,好比做一個收費的應(yīng)用,vip可以得到空間更大一些。另外,以 Link 的方式,來使郵件可以作為限制的配額(更改/var/spool/mail 這個路徑),不2,需要重新再規(guī)劃一個硬盤!直接使用 Link 的方式指向 /home (或者其它已經(jīng)做好的 quota 磁盤)就可以!這通常是用在原本規(guī)劃不好,但是卻又不想要更動原有主機(jī)架構(gòu)的情況中!

要求:Linux 主機(jī)里面主要針對 quser1 及 quser2 兩個使用者來進(jìn)行磁盤配額, 且這兩個使用者都是掛在 qgroup 組里面的。每個使用者總共有 50MB 的磁盤空間 (不考慮 inode) 限制!并且 soft limit 為 45 MB;而寬限時間設(shè)定為 1 天, 但是在一天之內(nèi)必須要將多余的文件刪除掉,否則將無法使用剩下的空間 ;gquota 這個組考慮最大限額,所以設(shè)定為 90 MB?。ㄗ⒁猓@樣設(shè)置的好處是富有彈性,好比現(xiàn)在的郵件服務(wù),那么多用戶,承諾給用戶每人最大空間為數(shù)GB,然而人們不可能每人都會使用那么大的空間,所以郵件服務(wù)的總空間,實際上肯定不是注冊客戶數(shù)乘以數(shù)GB,否則這樣得多大啊。)

[root@localhost ~]# groupadd qgroup
[root@localhost ~]# useradd -m -g qgroup quser1
[root@localhost ~]# useradd -m -g qgroup quser2
[root@localhost ~]# passwd quser1
[root@localhost ~]# passwd quser2
[root@localhost ~]# df     ===>  自己找一個合適的分區(qū)來做實驗,這里用/disk2
Filesystem             1K-blocks        Used      Available   Use% Mounted on
/dev/hda1              5952252   3193292     2451720     57%     /
/dev/hdb1            28267608       77904   26730604       1%     /disk2
/dev/hda5              9492644     227252     8775412       3%     /disk1

[root@localhost ~]# vi /etc/fstab
LABEL=/             /                ext3      defaults                                     1 1
LABEL=/disk1    /disk1        ext3      defaults                                      1 2
LABEL=/disk2    /disk2        ext3      defaults,usrquota,grpquota       1 2  
/dev/hda3         swap         swap     defaults                                     0 0

注意多了usrquota,grpquota,在defaults,usrquota,grpquota之間都沒有空格,務(wù)必正確書寫。這樣就算加入了 quota 的磁盤格式了!不過,由于真正的 quota 在讀取的時候是讀取/etc/mtab這個文件的,而該文件需要重新開機(jī)之后才能夠以/etc/fstab 的新數(shù)據(jù)進(jìn)行改寫!所以這個時候可以選擇:重新開機(jī) (reboot)。

重新remount filesystem來驅(qū)動設(shè)定值。

[root@localhost ~]# umount /dev/hdb1
[root@localhost ~]# mount -a
[root@localhost ~]# grep '/disk2' /etc/mtab
/dev/hdb1 /disk2 ext3 rw,usrquota,grpquota 0 0

事實上,也可以利用 mount 的 remount 功能。

[root@localhost ~]# mount -o remount /disk2

這樣就已經(jīng)成功的將 filesystem 的 quota 功能加入。

掃瞄磁盤的使用者使用狀況,并產(chǎn)生重要的 aquota.group 與 aquota.user:

[root@localhost ~]# quotacheck -avug
quotacheck: Scanning /dev/hdb1 [/disk2] done
quotacheck: Checked 3 directories and 4 files

[root@localhost ~]# ll /disk2
-rw-------  1 root root  6144 Sep  6 11:44 aquota.group
-rw-------  1 root root  6144 Sep  6 11:44 aquota.user

使用 quotacheck 就可以輕易的將所需要的數(shù)據(jù)給他輸出了!但奇怪的是,在某些 Linux 版本中,不能夠以 aquota.user(group) 來啟動quota ,可能是因為舊版 quota 的關(guān)系, 所以就另外做了一個 link 文件按來欺騙 quota,這個動作非必要。(主要是學(xué)習(xí)這個思維很重要)

[root@localhost ~]# cd /disk2
[root@localhost ~]# ln -s aquota.user quota.user
[root@localhost ~]# ln -s aquota.group quota.group

啟動 quota 的限額:

[root@localhost ~]# quotaon -avug
/dev/hdb1 [/disk2]: group quotas turned on
/dev/hdb1 [/disk2]: user quotas turned on    ===>  看到turned on,才是真的成功!

編輯使用者的可使用空間:

[root@localhost ~]# edquota -u quser1
Disk quotas for user quser1 (uid 502):
  Filesystem    blocks    soft    hard   inodes   soft   hard
  /dev/hdb1           0     45000    50000         0      0      0
[root@localhost ~]# edquota -p quser1 quser2      ===>  直接復(fù)制給quser2

接下來要來設(shè)定寬限時間,還是使用 edquota

[root@localhost ~]# edquota -t
Grace period before enforcing soft limits for users:
time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hdb1                     1days                  7days

使用quota -v來查詢:

[root@localhost ~]# quota -vu quser1 quser2
Disk quotas for user quser1 (uid 502):
     Filesystem  blocks   quota      limit   grace   files   quota   limit   grace
      /dev/hdb1         0    45000    50000                   0       0       0
Disk quotas for user quser2 (uid 503):
     Filesystem  blocks   quota      limit   grace   files   quota   limit   grace
      /dev/hdb1         0    45000    50000                   0       0       0

注意,由于使用者尚未超過45 MB,所以 grace ( 寬限時間 ) 就不會出現(xiàn)。

編輯群組可使用的空間:

[root@localhost ~]# edquota -g qgroup
Disk quotas for group qgroup (gid 502):
  Filesystem     blocks       soft       hard    inodes   soft   hard
  /dev/hdb1            0      80000   90000           0      0      0

[root@localhost ~]# quota -vg qgroup
Disk quotas for group qgroup (gid 502):
     Filesystem   blocks    quota      limit      grace    files   quota   limit   grace
      /dev/hdb1         0     80000   90000                       0        0        0


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號