Debian 系统中 spool 目录满 一般不是“Debian 本身的问题”,而是 某个服务在往 spool 里写数据却没及时清理。常见原因和排查思路如下:
/var/spool 是 临时排队数据目录,常见子目录包括:
| 目录 | 用途 |
|---|---|
/var/spool/mail |
本地用户邮件 |
/var/spool/cron |
cron 任务 |
/var/spool/cups |
打印队列 |
/var/spool/postfix |
Postfix 邮件队列 |
/var/spool/exim4 |
Exim 邮件队列 |
/var/spool/rsyslog |
日志缓冲(少见) |
Postfix / Exim / Sendmail 发不出去邮件
表现:
/var/spool/mqueue 或 /var/spool/postfix 巨大deferred检查:
du -sh /var/spool/*
查看邮件队列:
postqueue -p # Postfix
exim -bp # Exim
清理(谨慎):
postsuper -d ALL # Postfix
exim -bp | awk '{print $3}' | xargs exim -Mrm
很多系统服务(cron、daemon)会把输出发邮件给 root
/var/spool/mail/root
/var/spool/mail/www-data
查看:
ls -lh /var/spool/mail/
清理:
> /var/spool/mail/root
⚠️ 建议:
/etc/aliases如果服务器装了打印服务:
/var/spool/cups
查看:
lpstat -o
清理:
cancel -a
有时不是空间满,而是 inode 满
检查:
df -i
常见于:
有些程序错误地把日志或缓存写进 spool
排查:
du -h --max-depth=2 /var/spool
df -h
df -i
du -sh /var/spool/*
✅ 定期清理邮件队列
✅ 禁止服务器随意发邮件
✅ cron 输出重定向或发到真实邮箱
✅ 日志不要写进 spool
✅ 监控 /var/spool 大小(Zabbix / Prometheus)
你可以直接贴出:
df -h
df -i
du -sh /var/spool/*
我可以 精确判断是哪一个 spool 在撑爆系统,并给你最安全的清理方案。