在 Debian(以及大多数 Linux 发行版)中,spool 通常指 /var/spool 下的各种队列目录,如:
/var/spool/mail(用户邮件)/var/spool/cron(定时任务)/var/spool/cups(打印队列)/var/spool/postfix(邮件队列)/var/spool/apt(包管理相关)迁移 spool 内容前,先明确你迁移的是哪一类 spool,因为不同服务的迁移方式差别很大。
systemctl stop cron
systemctl stop postfix
systemctl stop cups
cp -a /var/spool /new/location/
# 或
rsync -aAX /var/spool/ /new/location/spool/
/var/spool 到新磁盘rsync -aAX /var/spool/ /mnt/newdisk/spool/
修改 /etc/fstab:
/dev/sdb1 /var/spool ext4 defaults 0 2
重启或:
mount --move /var/spool /var/spool
目录:
/var/spool/cron/crontabs
迁移:
systemctl stop cron
cp -a /var/spool/cron /new/spool/
systemctl start cron
或软链接:
ln -s /new/spool/cron /var/spool/cron
目录:
/var/spool/mail
迁移:
systemctl stop exim4 postfix sendmail
rsync -aAX /var/spool/mail/ /new/mail/
修改:
ln -s /new/mail /var/spool/mail
或改 MTA 配置(如 Postfix 的 mail_spool_directory)
目录:
/var/spool/postfix
⚠️ 不要手动复制队列文件
正确方式:
systemctl stop postfix
rsync -aAX /var/spool/postfix/ /new/postfix/
修改 main.cf:
queue_directory = /new/postfix
目录:
/var/spool/cups
systemctl stop cups
rsync -aAX /var/spool/cups/ /new/cups/
修改:
/etc/cups/cupsd.conf
# RequestRoot /new/cups
✅ 停止服务
✅ 使用 rsync -aAX
✅ 保持 UID/GID/SELinux/ACL
✅ 改配置而非硬改系统目录
❌ 不要直接 mv 运行中 spool
如果你能说明:
我可以给你精确命令级方案。