磁盘配额汇总报告需先确认配额已启用:检查/etc/fstab含grpquota、remount、quotacheck -cugm、quotaon -avug;再用repquota -gv /home导出配额用量;结合find/stat/du统计各组实际物理占用,最后合并生成Top 10对比报表。

生成系统的磁盘配额使用情况汇总报告,关键在于把“配额设置”和“实际占用”两个维度统一到组(部门)层面,并确保配额功能已正确启用。不能只跑一个 du 或只看 quota,必须联动验证。
确认配额已启用并初始化
这是前提,否则所有后续命令都返回空或报错:
- 检查
/etc/fstab中目标分区(如/home)是否含grpquota(部门用)和/或usrquota(个人用)选项 - 执行
sudo mount -o remount /home让挂载参数生效 - 运行
sudo quotacheck -cugm /home:-c 创建新配额文件,-g 扫描组,-m 强制重建,确保/home/aquota.group存在且非空 - 启用配额:
sudo quotaon -avug,再用quotaon -p确认状态
用 repquota 一键导出全量配额视图
repquota 是唯一能批量输出所有组/用户当前配额用量的命令,适合做汇总基础:
- 查看所有组配额(带单位、软硬限、宽限期):
sudo repquota -gv /home - 导出为日期标记文本:
sudo repquota -gv /home > quota-report-$(date +%Y%m%d).txt - 筛选特定部门(如
marketing):sudo repquota -gv /home | grep '^marketing' - 若需同时包含用户和组,加
-u:sudo repquota -gvs /home
补充实际磁盘占用(绕过配额限制的物理使用)
配额反映“被允许用多少”,但报表常需“真实占了多少”。尤其当用户主目录被软链接到其他分区,或存在未归属用户的残留数据时:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 按组统计所有成员主目录大小:
getent group dev-team | cut -d: -f4 | tr ',' '\n' | xargs -I{} du -sh /home/{} 2>/dev/null | awk '{sum += $1} END {print "dev-team actual: " sum "K"}' - 更健壮方式(自动识别挂载点与归属):
find /home -maxdepth 1 -mindepth 1 -type d -exec stat -c "%U %G %n" {} \; 2>/dev/null | awk '$2=="dev-team" {print $3}' | xargs -r du -sh 2>/dev/null | awk '{sum += $1} END {print "dev-team real: " sum "K"}'
合并成可读汇总报表(简易脚本)
把配额用量和实际占用拼在一起,就能快速识别超限、闲置、异常占用等情形:
- 保存以下内容为
quota-summary.sh,chmod +x后执行:
#!/bin/bash<br>echo "=== 磁盘配额汇总报告 $(date) ==="<br>echo<br>echo "【配额设定与用量】"<br>sudo repquota -gvs /home | grep -E '^(Group|^[a-z]|^$)' | head -n -1<br>echo<br>echo "【各组实际物理占用】"<br>for g in $(cut -d: -f1 /etc/group | grep -v '^$'); do<br> if getent group "$g" >/dev/null; then<br> actual=$(getent group "$g" | cut -d: -f4 | tr ',' '\n' | xargs -I{} du -sk /home/{} 2>/dev/null | awk '{sum += $1} END {print sum+0}')<br> printf "%-12s %8s KB\n" "$g" "$actual"<br> fi<br>done | sort -k2 -nr | head -10
运行后会列出用量 Top 10 的组,配额与实际并列,一目了然。

















