在 CentOS(以及大多数 Linux 发行版)中,spool 目录(通常是 /var/spool)是用来临时存放等待处理的任务和数据的。它占用空间大,通常是因为某些“队列”里堆积了太多内容没有及时清理。
下面按常见原因逐一说明,并给出排查和处理方法。
/var/spool/mail 或 /var/spool/postfix邮件队列 / 用户邮件
排查:
du -sh /var/spool/mail/*
mailq
处理:
# 清空某用户邮箱
> /var/spool/mail/root
# 清理 postfix 邮件队列
postsuper -d ALL
/var/spool/clientmqueue 或 /var/spool/mqueuesendmail / 邮件发送队列
排查:
ls -l /var/spool/clientmqueue | wc -l
处理:
rm -f /var/spool/clientmqueue/*
✅ 建议:cron 任务加 >/dev/null 2>&1
/var/spool/cups打印队列
排查:
lpstat -o
处理:
cancel -a
/var/spool/at / /var/spool/cron计划任务
排查:
ls -l /var/spool/at
/var/spool/audit审计日志(较少见但可能大)
du -sh /var/spool/*
或一层层查:
du -sh /var/spool/*/*
| 原因 | 说明 |
|---|---|
| cron 输出未重定向 | 导致邮件堆积 |
| 邮件服务异常 | 队列无法发送 |
| 打印服务故障 | 打印任务堆积 |
| 日志或脚本异常 | 不断生成文件 |
* * * * * /script.sh >/dev/null 2>&1
du -sh /var/spool
如果你能贴出:
du -sh /var/spool/*
的结果,我可以直接告诉你具体是哪个目录在吃空间,以及怎么安全清理。