您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux中quota命令怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
quota命令 用于顯示用戶或者工作組的磁盤配額信息。輸出信息包括磁盤使用和配額限制。
顯示磁盤已使用的空間與限制
quota(選項)(參數)
-g:列出群組的磁盤空間限制; -q:簡明列表,只列出超過限制的部分; -u:列出用戶的磁盤空間限制; -v:顯示該用戶或群組,在所有掛入系統的存儲設備的空間限制; -V:顯示版本信息。
用戶或者工作組:指定要顯示的用戶或者工作組。
我們可以限制某一群組所能使用的最大磁盤配額,而且可以再限制某一使用者的最大磁盤配額 ,好比做一個收費的應用,vip可以得到空間更大一些。另外,以 Link 的方式,來使郵件可以作為限制的配額(更改/var/spool/mail 這個路徑),不2,需要重新再規劃一個硬盤!直接使用 Link 的方式指向 /home (或者其它已經做好的 quota 磁盤)就可以!這通常是用在原本規劃不好,但是卻又不想要更動原有主機架構的情況中!
要求:Linux 主機里面主要針對 quser1 及 quser2 兩個使用者來進行磁盤配額, 且這兩個使用者都是掛在 qgroup 組里面的。每個使用者總共有 50MB 的磁盤空間 (不考慮 inode) 限制!并且 soft limit 為 45 MB;而寬限時間設定為 1 天, 但是在一天之內必須要將多余的文件刪除掉,否則將無法使用剩下的空間 ;gquota 這個組考慮最大限額,所以設定為 90 MB!(注意,這樣設置的好處是富有彈性,好比現在的郵件服務,那么多用戶,承諾給用戶每人最大空間為數GB,然而人們不可能每人都會使用那么大的空間,所以郵件服務的總空間,實際上肯定不是注冊客戶數乘以數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 ===> 自己找一個合適的分區來做實驗,這里用/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之間都沒有空格,務必正確書寫。這樣就算加入了 quota 的磁盤格式了!不過,由于真正的 quota 在讀取的時候是讀取/etc/mtab這個文件的,而該文件需要重新開機之后才能夠以/etc/fstab 的新數據進行改寫!所以這個時候可以選擇:重新開機 (reboot)。
重新remount filesystem來驅動設定值。
[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
這樣就已經成功的將 filesystem 的 quota 功能加入。
掃瞄磁盤的使用者使用狀況,并產生重要的 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 就可以輕易的將所需要的數據給他輸出了!但奇怪的是,在某些 Linux 版本中,不能夠以 aquota.user(group) 來啟動quota ,可能是因為舊版 quota 的關系, 所以就另外做了一個 link 文件按來欺騙 quota,這個動作非必要。(主要是學習這個思維很重要)
[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 ===> 直接復制給quser2
接下來要來設定寬限時間,還是使用 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 ( 寬限時間 ) 就不會出現。
編輯群組可使用的空間:
[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
關于“Linux中quota命令怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。