温馨提示×

为什么ubuntu spool满

小樊
37
2026-09-25 12:50:53
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 系统)里,spool 目录满是一个比较常见的问题。这里的 spool 通常指 /var/spool,它是系统用来“临时存放待处理任务”的地方。

下面按常见原因 → 排查方法 → 解决办法来说明。


一、/var/spool 下最常见的“满”的地方

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

目录:

/var/spool/cups
/var/spool/cups-pdf

原因

  • 打印机卡住
  • 打印任务失败但不断重试
  • cups-pdf 生成大量 PDF 没人清理

现象

  • 打印不了
  • /var 分区 100%

解决

# 查看打印任务
lpstat -o

# 清空打印队列
cancel -a

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

2️⃣ 邮件队列(postfix / sendmail)

目录:

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

原因

  • 系统邮件堆积(cron 报错)
  • 邮件发送失败不断重试
  • 服务器被当成垃圾邮件源

解决

# 查看邮件队列
mailq

# 清空 postfix 队列
sudo postsuper -d ALL

3️⃣ cron 任务输出堆积

目录:

/var/spool/cron
/var/spool/cron/crontabs

原因

  • cron 脚本不断写错误日志
  • 输出没重定向,系统邮件暴涨

解决

  • 给 cron 加重定向:
* * * * * /script.sh >/dev/null 2>&1

4️⃣ apt / dpkg 临时文件

目录:

/var/spool/apt

原因

  • apt 下载中断
  • 软件包缓存没清理

解决

sudo apt clean
sudo apt autoremove

5️⃣ 其他 spool(less 常见)

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

一般不是主因,但也会被日志撑满。


二、如何快速定位是哪个 spool 占满

df -h /var
du -sh /var/spool/*

或:

ncdu /var/spool

三、根本预防建议

✅ 不要把 /var 和 / 放在太小分区
✅ 定期清理:

logrotate
apt clean
cancel -a

✅ 监控磁盘:

df -h

四、一句话总结

Ubuntu spool 满,90% 是 cups(打印)或 mail(邮件)队列堆积导致的。

如果你愿意,可以贴一下:

df -h
du -sh /var/spool/*

我可以帮你精准判断是哪一个。

0 踩