在 CentOS 中,**spool(缓冲/队列目录)**通常指 /var/spool 下的各类系统队列,比如:
/var/spool/mail(用户邮件)/var/spool/cron(定时任务)/var/spool/mqueue 或 /var/spool/postfix(邮件队列)/var/spool/cups(打印队列)/var/spool/at(at 任务)监控的核心目标是:大小异常、文件堆积、权限变化、异常写入。
下面按“实用程度”给你几种监控方式。
du -sh /var/spool
du -sh /var/spool/*
find /var/spool -type f -size +10M
cat > /usr/local/bin/check_spool.sh <<'EOF'
#!/bin/bash
LIMIT=500000 # 500MB (KB)
SIZE=$(du -sk /var/spool | awk '{print $1}')
if [ "$SIZE" -gt "$LIMIT" ]; then
echo "Spool too large: ${SIZE}KB" | mail -s "Spool Alert" root
fi
EOF
chmod +x /usr/local/bin/check_spool.sh
加入 cron:
crontab -e
# 每30分钟检查
*/30 * * * * /usr/local/bin/check_spool.sh
适合排查谁在写 spool。
yum install -y inotify-tools
inotifywatch -r -m /var/spool
或监控具体目录:
inotifywait -m -r -e create,delete,modify /var/spool/mail
mailq
# 或
postqueue -p
自动清理:
postsuper -d ALL
ls -l /var/spool/cron/
异常用户 cron:
for u in /var/spool/cron/*; do echo "$u:"; cat "$u"; done
lpstat -o
auditctl -w /var/spool -p wa -k spool_monitor
查看日志:
ausearch -k spool_monitor
yum install aide
aide --init
| 场景 | 推荐 |
|---|---|
| 服务器少 | cron + du |
| 多服务器 | Zabbix / Prometheus |
| 安全审计 | auditd |
| 实时排查 | inotify |
如果你能说明:
我可以给你精准的监控配置。