CentOS spool 维护与排障指南
一 核心目录与用途
二 日常维护清单
df -h /var/spool;按子目录汇总:du -sh /var/spool/*。find /var/spool -type f -size +100M -exec ls -lh {} \;。postqueue -p;安全清理全部队列:postsuper -d ALL(生产环境慎用,优先排查原因)。/etc/postfix/main.cf 中设置 message_size_limit = 50M,然后 systemctl restart postfix。maximal_queue_lifetime = 1d 等参数,减少长期积压。lpstat -p -d;查看作业:lpstat -o。cancel <job_id>;清空全部作业:cancel -a;必要时重启服务:systemctl restart cups。tar czvf /backup/crontabs_$(date +%F).tar.gz /var/spool/cron/crontabs;清理示例:rm -f /var/spool/cron/crontabs/*(会影响所有用户的定时任务)。三 自动化与容量控制
/usr/local/bin/cleanup_spool.sh:#!/bin/bash
set -e
BACKUP_DIR="/backup/spool_$(date +%F_%H%M%S)"
mkdir -p "$BACKUP_DIR"
# 备份邮件 spool
tar czvf "$BACKUP_DIR/mail_spool.tar.gz" /var/spool/mail 2>/dev/null || true
# 备份 Postfix 队列
tar czvf "$BACKUP_DIR/postfix_queue.tar.gz" /var/spool/postfix 2>/dev/null || true
# 备份 cron crontabs
tar czvf "$BACKUP_DIR/crontabs.tar.gz" /var/spool/cron/crontabs 2>/dev/null || true
# 清理 Postfix 队列(生产慎用)
postqueue -p >/dev/null 2>&1 && postsuper -d ALL 2>/dev/null || true
# 清理打印队列(CUPS)
cancel -a >/dev/null 2>&1 || true
# 清理 cron(谨慎:会删除所有用户的 crontab)
# rm -f /var/spool/cron/crontabs/* 2>/dev/null || true
# 清理临时/历史 spool(如存在)
rm -rf /var/spool/clientmqueue/* 2>/dev/null || true
# rm -rf /var/spool/lpd/* 2>/dev/null || true
# rm -rf /var/spool/at/* 2>/dev/null || true
# 输出占用
echo "After cleanup:"
du -sh /var/spool/*
0 2 * * * /usr/local/bin/cleanup_spool.sh >> /var/log/cleanup_spool.log 2>&1message_size_limit、maximal_queue_lifetime 等,减少异常大邮件与长期积压。/etc/cups/cupsd.conf 中控制并发与策略(如 MaxJobsPerHour),并定期重启服务清理僵尸作业。df/du 建立阈值告警,提前发现空间风险。四 备份与恢复
tar czvf /backup/mail_spool_$(date +%F).tar.gz /var/spool/mailtar czvf /backup/postfix_queue_$(date +%F).tar.gz /var/spool/postfixtar xzvf xxx.tar.gz -C /tmp/spool_restore && ls -l /tmp/spool_restore五 故障排查要点
lpstat -p -d、lpstat -o;取消作业:cancel <job_id> 或 cancel -a;重启服务:systemctl restart cups;必要时检查 /var/log/messages 或 /var/log/cups/error_log 获取线索。postqueue -p;清理队列:postsuper -d ALL(慎用);检查 /var/spool/postfix 子目录积压情况;优化 message_size_limit、maximal_queue_lifetime 等参数;排查 /var/spool/clientmqueue/ 是否异常增长。