温馨提示×

如何监控centos spool

小樊
47
2026-10-26 07:22:56
栏目: 智能运维

在 CentOS 中,**spool(缓冲/队列目录)**通常指 /var/spool 下的各类系统队列,比如:

  • /var/spool/mail(用户邮件)
  • /var/spool/cron(定时任务)
  • /var/spool/mqueue 或 /var/spool/postfix(邮件队列)
  • /var/spool/cups(打印队列)
  • /var/spool/at(at 任务)

监控的核心目标是:大小异常、文件堆积、权限变化、异常写入。

下面按“实用程度”给你几种监控方式。


一、最基础:手动/脚本监控目录大小

1. 查看 spool 总体占用

du -sh /var/spool

2. 查看具体子目录

du -sh /var/spool/*

3. 找出大文件

find /var/spool -type f -size +10M

二、定时监控(cron + 脚本)

示例:spool 超过阈值报警

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

三、实时监控文件变化(inotify)

适合排查谁在写 spool。

yum install -y inotify-tools
inotifywatch -r -m /var/spool

或监控具体目录:

inotifywait -m -r -e create,delete,modify /var/spool/mail

四、监控具体 spool 服务(推荐)

1. 邮件队列(Postfix)

mailq
# 或
postqueue -p

自动清理:

postsuper -d ALL

2. Cron spool

ls -l /var/spool/cron/

异常用户 cron:

for u in /var/spool/cron/*; do echo "$u:"; cat "$u"; done

3. CUPS 打印队列

lpstat -o

五、安全监控(防篡改)

1. 使用 auditd(强烈推荐)

auditctl -w /var/spool -p wa -k spool_monitor

查看日志:

ausearch -k spool_monitor

2. 使用 AIDE(文件完整性)

yum install aide
aide --init

六、生产环境推荐方案

场景 推荐
服务器少 cron + du
多服务器 Zabbix / Prometheus
安全审计 auditd
实时排查 inotify

如果你能说明:

  • 是 哪个 spool(mail / cron / postfix / cups)
  • 想监控 大小 / 安全 / 异常写入

我可以给你精准的监控配置。

0 踩