温馨提示×

如何迁移debian ftpserver文件

小樊
50
2026-09-30 22:56:56
栏目: 智能运维

在 Debian 上“迁移 FTPServer 文件”通常有两种理解:

  1. 把 FTP 服务器上的用户数据/文件迁移到另一台服务器
  2. 迁移 FTP 服务本身(配置 + 用户 + 文件)

下面我按**常见场景(vsftpd / proftpd)**给你一套可操作的迁移方案。


一、确认你用的是哪种 FTP 服务

dpkg -l | grep -E "vsftpd|proftpd"

常见情况:

  • vsftpd:最常见
  • proftpd:功能更强

二、仅迁移 FTP 用户文件(最简单)

1. 打包 FTP 根目录

假设 FTP 根目录是 /srv/ftp:

tar czvf ftp_data.tar.gz /srv/ftp

2. 传到新服务器

scp ftp_data.tar.gz user@newserver:/tmp/

3. 新服务器解压

tar xzvf /tmp/ftp_data.tar.gz -C /

✅ 适合:只迁移文件,不迁移用户和配置


三、迁移 vsftpd(配置 + 文件)

1. 旧服务器备份

tar czvf vsftpd_backup.tar.gz \
  /etc/vsftpd.conf \
  /etc/vsftpd/ \
  /srv/ftp \
  /etc/passwd /etc/shadow /etc/group

如果是虚拟用户,还需备份:

  • /etc/vsftpd/virtual_users.txt
  • PAM 配置 /etc/pam.d/vsftpd

2. 新服务器安装 vsftpd

apt update
apt install vsftpd

3. 恢复配置和文件

tar xzvf vsftpd_backup.tar.gz -C /

4. 重启服务

systemctl restart vsftpd

四、迁移 proftpd

1. 备份

tar czvf proftpd_backup.tar.gz \
  /etc/proftpd \
  /srv/ftp \
  /etc/passwd /etc/shadow /etc/group

2. 新服务器安装

apt install proftpd

3. 恢复

tar xzvf proftpd_backup.tar.gz -C /

4. 重启

systemctl restart proftpd

五、如果是虚拟用户(重点)

vsftpd 虚拟用户

备份:

/etc/vsftpd/virtual_users.txt
/etc/pam.d/vsftpd

恢复后重新生成 db:

db_load -T -t hash -f virtual_users.txt /etc/vsftpd/virtual_users.db

六、推荐的安全迁移方式(生产环境)

✅ 用 rsync 而不是 tar:

rsync -avz --delete /srv/ftp/ user@newserver:/srv/ftp/

好处:

  • 断点续传
  • 权限保留
  • 增量同步

七、迁移后检查清单

  • [ ] FTP 能登录
  • [ ] 文件权限正确
  • [ ] 被动端口开放(如 30000-31000)
  • [ ] 防火墙 / SELinux / AppArmor
  • [ ] 日志正常(/var/log/vsftpd.log)

如果你能告诉我:

  • 用的是 vsftpd 还是 proftpd
  • 是 系统用户还是虚拟用户
  • 是 同机迁移还是跨服务器

我可以给你精确到命令的迁移脚本。

0 踩