在 CentOS(以及大多数 Linux 发行版)中,spool 通常指 /var/spool 目录,里面存放了系统各种队列数据,比如:
/var/spool/mail:用户邮件/var/spool/cron:cron 任务/var/spool/postfix:Postfix 邮件队列/var/spool/lpd / cups:打印队列/var/spool/at:at 任务下面以迁移 /var/spool 到新磁盘或新目录为例,给你一套通用、安全的方法。
du -sh /var/spool
df -h /var/spool
根据用途停止服务,避免数据写入:
systemctl stop crond
systemctl stop postfix
systemctl stop cups
(只用到的服务才停)
mkdir -p /data/spool
cp -a /var/spool/. /data/spool/
mv /var/spool /var/spool.bak
ln -s /data/spool /var/spool
systemctl start crond
systemctl start postfix
✅ 优点:简单、风险低
❌ 缺点:依赖软链接
mkfs.xfs /dev/sdb1
mount /dev/sdb1 /mnt/spool
cp -a /var/spool/. /mnt/spool/
vi /etc/fstab
添加:
/dev/sdb1 /var/spool xfs defaults 0 0
umount /mnt/spool
mv /var/spool /var/spool.bak
mkdir /var/spool
mount -a
✅ 优点:真正独立存储
❌ 缺点:需重启或 umount
比如只迁移 邮件 spool:
mv /var/spool/mail /data/mail
ln -s /data/mail /var/spool/mail
或 Postfix:
postconf -e "queue_directory = /data/spool/postfix"
ls -l /var/spool
systemctl status crond
mailq
rm -rf /var/spoolcp -a)restorecon -Rv /var/spool
如果你能说明:
我可以给你更精确的命令方案。