温馨提示×

ubuntu spool为何占用大

小樊
50
2026-09-04 03:50:21
栏目: 智能运维

在 Ubuntu(以及其它 Linux 发行版)里,spool(缓冲/队列目录)占用空间大,通常不是“系统 bug”,而是某些任务在排队但没被处理完,或者日志/临时文件没清理。下面按常见原因给你梳理。


一、spool 是什么?

/var/spool 用于存放等待处理的任务,比如:

  • 打印任务(CUPS)
  • 邮件队列(Postfix / Sendmail / Exim)
  • cron 任务输出
  • 系统临时队列文件

二、最常见的“占用大”原因

1️⃣ 打印队列(最常见)

路径:

/var/spool/cups

原因:

  • 打印失败
  • 打印机离线
  • 大文件(PDF / 图片)卡住

查看:

ls -lh /var/spool/cups

清理(谨慎):

sudo systemctl stop cups
sudo rm -rf /var/spool/cups/*
sudo systemctl start cups

2️⃣ 邮件队列堆积(Postfix / Exim)

路径:

/var/spool/mail
/var/spool/postfix

原因:

  • 邮件发送失败
  • 被当成垃圾邮件服务器
  • 系统 cron 报错邮件堆积

查看 Postfix 队列:

mailq

清空队列(确认安全后):

sudo postsuper -d ALL

3️⃣ cron 输出堆积

路径:

/var/spool/cron

原因:

  • cron 脚本一直报错
  • 输出没重定向到 /dev/null

查看:

sudo ls -lh /var/spool/cron/crontabs

4️⃣ 系统日志 / 临时 spool 文件

路径示例:

/var/spool/rsyslog
/var/spool/anacron

可能原因:

  • 服务异常重启
  • 硬盘 IO 问题

三、快速定位“是谁占空间”

1️⃣ 查看 spool 总占用

du -sh /var/spool

2️⃣ 逐层找大目录

du -h /var/spool | sort -h

四、一般安全清理原则

✅ 可以清理:

  • 已失败的打印任务
  • 邮件发送失败队列
  • 明显过期的临时文件

❌ 不建议直接 rm -rf /var/spool

  • 可能影响系统服务

五、如果你愿意

你可以把下面命令的输出贴出来,我可以精确判断是哪一个 spool 在吃空间

du -h /var/spool | sort -h
df -h

0