Ubuntu /var/spool磁盘空间不足解决方法
/var/spool目录存储了打印队列、邮件、APT缓存等临时数据,清理其中过期或无用的文件可快速释放空间:
sudo systemctl stop cups
sudo rm -rf /var/spool/cups/*
sudo systemctl start cups
sudo find /var/spool/mail -type f -delete
sudo find /var/spool/postfix -type f -delete
sudo find /var/spool/clientmqueue -type f -print0 | xargs -0 rm -f
sudo apt-get clean # 清理/var/cache/apt/archives/
sudo apt autoremove --purge # 删除无用依赖
sudo journalctl --vacuum-time=3d
若清理后仍空间不足,可通过扩展分区增加容量:
sudo lvdisplay(确认/var/spool所在逻辑卷,如/dev/mapper/ubuntu–vg-var);sudo lvextend -L +10G /dev/mapper/ubuntu--vg-var(+10G表示增加10GB,可根据需求调整);sudo resize2fs /dev/mapper/ubuntu--vg-var(适用于ext4文件系统)。sudo apt install gparted)或fdisk/parted命令调整分区大小;通过脚本和定时任务定期清理Spool目录,减少手动操作:
#!/bin/bash
# 清理打印队列
sudo rm -rf /var/spool/cups/*
# 清理邮件队列
sudo rm -rf /var/spool/mail/*
# 清理Postfix队列
sudo rm -rf /var/spool/postfix/*
# 清理7天前的临时文件
sudo find /var/spool -type f -mtime +7 -delete
chmod +x clean_spool.sh;crontab -e
添加以下行:0 2 * * * /path/to/clean_spool.sh
sudo systemctl stop cups
sudo systemctl disable cups
sudo chmod 755 /var/spool
df -h查看磁盘使用情况,及时预警。注意事项: