Debian 分卷状态监控实用指南
一 快速巡检命令
df -hdu -sh /var/* | sort -hlsblk -fsudo lvs、sudo vgs二 持续监控与告警
htop(进程)、vmstat 1 5(系统)、iostat -xz 1(磁盘 I/O)glances(终端/Web),netdata(实时 Web 仪表盘)Prometheus + node_exporter + Grafana三 日志与故障排查
tail -f /var/log/syslog、journalctl -xe、dmesg -Tsudo fsck /dev/sdXN(离线执行)systemctl status <service>、ps aux、top四 自动化巡检脚本示例
chmod +x check_fs.sh && ./check_fs.sh#!/usr/bin/env bash
set -Eeuo pipefail
THRESHOLD=${1:-80} # 默认阈值 80%
ALERT=0
echo "=== $(date) 分卷容量检查 ==="
# 检查挂载点使用率
for mp in / /var; do
read -r fs size used avail pct mount <<< "$(df -h | awk -v m="$mp" '$6==m{print $1,$2,$3,$4,$5,$6; exit}')"
pct_num=${pct%\%}
printf "%-10s %8s %8s %8s %6s %s\n" "$fs" "$size" "$used" "$avail" "$pct" "$mount"
if (( pct_num >= THRESHOLD )); then
echo " [WARN] $mount 使用率 ${pct_num}% ≥ ${THRESHOLD}%"
ALERT=1
echo " 大目录 TOP10(仅 $mount):"
du -xh "$mount" 2>/dev/null | sort -hr | head -n 10 | sed 's/^/ /'
fi
done
# LVM 使用率
if command -v lvs >/dev/null 2>&1; then
echo
echo "=== LVM 逻辑卷使用率 ==="
sudo lvs --noheadings -o lv_name,vg_name,lv_size,data_percent | awk '$4+0>0 {printf "%-12s %-10s %8s %6s%%\n", $1, $2, $3, $4}'
fi
exit $ALERT
提示:可将脚本加入 cron(如每 5 分钟)并结合 mail 或企业告警通道发送通知,实现无人值守监控。