Linux spool文件夹清理策略
/var/spool是Linux系统中用于存储任务队列和缓冲数据的关键目录,主要服务于打印、邮件、计划任务等系统服务。常见子目录及用途如下:
sudo rm -f /var/spool/mail/*
sudo postsuper -d ALL
(需停止Postfix服务后再执行,避免新任务进入)。lpstat -o
;cancel -a
;sudo rm -rf /var/spool/cups/*
。sudo rm -f /var/spool/cron/*
sudo rm -f /var/spool/at/*
(或用atq
查看任务后再删除)。创建统一的清理脚本(如/usr/local/bin/cleanup_spool.sh
),包含常用清理步骤:
#!/bin/bash
# 停止邮件服务(避免清空队列时影响新任务)
systemctl stop postfix
# 清空邮件spool
rm -rf /var/spool/mail/*
# 启动邮件服务
systemctl start postfix
# 清空打印队列
cancel -a && rm -rf /var/spool/cups/*
# 清空cron任务
rm -f /var/spool/cron/*
echo "Spool cleanup completed on $(date)"
赋予执行权限:sudo chmod +x /usr/local/bin/cleanup_spool.sh
。
使用crontab设置定期执行(如每天凌晨2点):
sudo crontab -e
添加以下内容:
0 2 * * * /usr/local/bin/cleanup_spool.sh >> /var/log/spool_cleanup.log 2>&1
说明:日志会记录到/var/log/spool_cleanup.log
,便于后续审计。
df -h /var/spool
查看spool目录占用情况,及时调整清理频率。