Ubuntu Spool 监控实践
一 概念与范围
二 容量与增长监控
sudo du -sh /var/spool/{mail,cron,crontabs,lpd,apt/archives}。sudo du -xh /var/spool | sort -rh | head(按人类可读大小倒序,取前 N 个)。#!/usr/bin/env bash
set -Eeuo pipefail
LOG=/var/log/spool-monitor.log
ts=$(date '+%F %T')
echo "[$ts] spool sizes:" >> "$LOG"
du -sh /var/spool/{mail,cron/crontabs,lpd,apt/archives} 2>/dev/null >> "$LOG"
echo "[$ts] top 10 subdirs in /var/spool:" >> "$LOG"
du -xh /var/spool 2>/dev/null | sort -rh | head -n 10 >> "$LOG"
echo "" >> "$LOG"
三 活动与进程监控
sudo lsof +D /var/spool(按目录递归,列出打开的文件与进程)。ps aux | grep -i spool(辅助筛选相关进程)。lpstat -o;查看打印机状态:lpstat -p -d;取消卡住作业:cancel <job-id>。postqueue -p;清空队列(慎用):postsuper -d ALL。lpstat -o,cancel <job-id>postqueue -p,postsuper -d ALLlsof +D /var/spool,ps aux | grep spool四 文件系统事件与审计
sudo apt-get install inotify-toolssudo inotifywait -m -r -e create,modify,delete --format '%w%f %e' /var/spoolsudo apt-get install auditd audispd-pluginssudo auditctl -w /var/spool -p wa -k spool_monitorsudo ausearch -k spool_monitor五 异常处置与清理建议
postqueue -p 确认待发邮件,必要时再 postsuper -d ALL(会清空队列,谨慎)。sudo apt-get clean 清理 /var/spool/apt/archives 中的已安装包文件。lpstat -o 找到 job-id 后 cancel <job-id> 清理卡住作业。