温馨提示×

Ubuntu spool怎么迁移

小樊
36
2026-08-23 23:28:41
栏目: 智能运维

在 Ubuntu 里提到 spool,通常是指 打印队列(CUPS)邮件队列(Postfix / Exim) 的 spool 目录。下面按常见场景给你说明 迁移方法


一、CUPS 打印 spool 迁移(最常见)

CUPS 的 spool 目录默认在:

/var/spool/cups

1️⃣ 停止 CUPS 服务

sudo systemctl stop cups

2️⃣ 创建新的 spool 目录

例如迁移到 /data/spool/cups

sudo mkdir -p /data/spool/cups
sudo chown root:lp /data/spool/cups
sudo chmod 755 /data/spool/cups

3️⃣ 复制原有数据(保留权限)

sudo rsync -av /var/spool/cups/ /data/spool/cups/

4️⃣ 修改 CUPS 配置

编辑:

sudo nano /etc/cups/cupsd.conf

找到或添加:

RequestRoot /data/spool/cups

✅ 有些版本 CUPS 不直接支持改 spool 路径,更稳妥的方式是 bind mount


✅ 推荐方式:使用 bind mount

sudo nano /etc/fstab

添加:

/data/spool/cups /var/spool/cups none bind 0 0

然后:

sudo mount -a
sudo systemctl start cups

二、Postfix 邮件 spool 迁移

Postfix spool 默认在:

/var/spool/postfix

1️⃣ 停止 Postfix

sudo systemctl stop postfix

2️⃣ 迁移目录

sudo rsync -av /var/spool/postfix/ /data/spool/postfix/

3️⃣ 修改 Postfix 配置

sudo nano /etc/postfix/main.cf

设置:

queue_directory = /data/spool/postfix

4️⃣ 启动 Postfix

sudo systemctl start postfix

三、通用 spool 目录迁移(任意服务)

方法 1:软链接(简单但不推荐生产)

sudo mv /var/spool/xxx /data/spool/xxx
sudo ln -s /data/spool/xxx /var/spool/xxx

⚠️ 有些服务(如 CUPS、Postfix)不认软链接,可能启动失败。


方法 2:bind mount(最稳妥 ✅)

sudo mkdir -p /data/spool/xxx
sudo rsync -av /var/spool/xxx/ /data/spool/xxx/
sudo mount --bind /data/spool/xxx /var/spool/xxx

写入 /etc/fstab 持久化。


四、迁移前检查清单 ✅

  • 停止相关服务
  • 保留权限(rsync -a
  • 确认 SELinux / AppArmor(Ubuntu 常见 AppArmor)
  • 验证服务启动日志:
journalctl -u cups
journalctl -u postfix

五、如果你不确定是哪种 spool

你可以直接告诉我:

  • Ubuntu 版本
  • 打印 / 邮件 / 其他服务
  • 当前 spool 在哪个目录

我可以给你 精确到命令级别 的迁移方案。

0