2017年4月10日 星期一

CentOS 7.3 設定磁碟配額 quota

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
已關閉 Selinux


將設定寫入 fstab
# vi /etc/fstab
在需要做磁碟配額的磁碟機加入設定
defaults 後面加 ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0

UUID=b6959298-1381-42ee-876c-c62cdd6bf5c6       /cnes   ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0      0 0

如果只加 ,usrquota,grpquota 檢查 quota 時會出現警告訊息
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.


重新啟動電腦
# sync
# reboot


先 quota 關閉再檢查
# quotaoff -avug
/dev/sdb1 [/cnes]: group quotas turned off
/dev/sdb1 [/cnes]: user quotas turned off

# quotacheck -avug
quotacheck: Scanning /dev/sdb1 [/cnes] done
quotacheck: Checked 14231 directories and 121821 files

# quotaon -avug
/dev/sdb1 [/cnes]: group quotas turned on
/dev/sdb1 [/cnes]: user quotas turned on


編輯個人磁碟配額
edquota 帳號
Filesystem blocks  soft hard inodes soft hard
掛入點  約等於1K 警告 上限 檔案 警告 上限

edquota 的參數
-u 編輯 user quota
-g 編輯 group quota
-p 指定一個設定為範本,複製給其他 user
-t 設定超過 soft limit 的緩衝期限
edquota -u user 編輯帳號 user quota
edquota -p user1 user2 以帳號 user1 為範本套用至 user2
edquota -p user * 以帳號 user 為範本套用至所有 user (需在 user 家目錄上層做)


檢查 quota
quota -v  查自己的使用情形
quota -gv 查自己群組的使用情形 
quota -vu 帳號 查某人使用情形(root用)
quota -a 列出所有的報表


應用
repquota -a | grep + 查超額使用者

-------------------------------------------------------------------------------
檢查配額狀況
http://www.cses.tc.edu.tw/~chihwu/file/91summer_admin.pdf
範例:(清水國小吳仁智老師)
 1*/3*** repquota -aug | grep + > /var/www/html/quota.rep 定時建立超量使用者資料
 5*/3*** mail -srep.txt chihwu@cses.tcc.edu.tw < /var/www/html/quota.rep 定時寄給管理者
用 php 把配額狀況顯示在網頁上
*******************************************************
<?php
 $fd = fopen("quota.rep", "r");
 echo "<tr><b><td colspan=5 ><font size=\"+1\" > <b>
以下同學請注意你的 P: 磁碟機用量</td></tr><tr>";
 while ($buffer = fgets ($fd, 4096))
 {
 $i++;
 $a = explode (" ",$buffer);
 echo "<td width=\"100\"> $a[0] </td>";
 if ( $i % 5 ) echo "";
  else echo "</tr>";
 }
 fclose($fd);
 echo "<tr><td colspan=5 >磁碟機用量統計兩小時更新一次
 </td></tr></b>";
 ?>
******


quota:命令找不到
安裝
# yum install quota

沒有留言:

張貼留言