温馨提示×

centos ftpserver怎么迁移服务器

小樊
38
2026-10-26 13:33:01
栏目: 云计算

在 CentOS 上将 FTP 服务器迁移到另一台服务器,通常分为 配置迁移 + 数据迁移 + 服务切换 三步。下面以最常见的 vsftpd 为例说明(如果你用的是 proftpd / pure-ftpd 也可类比)。


一、确认原服务器 FTP 类型

rpm -qa | grep -E "vsftpd|proftpd|pure-ftpd"

二、迁移 FTP 用户和数据

1. 用户账号迁移

FTP 用户通常是系统用户或虚拟用户。

系统用户(本地用户)

导出用户和组信息:

grep ftpuser /etc/passwd > ftpusers.txt
grep ftpgroup /etc/group > ftpgroups.txt

(或整体复制相关行)

在新服务器创建用户:

useradd -m ftpuser
passwd ftpuser

⚠️ 注意 UID/GID 最好保持一致,否则文件权限会乱


虚拟用户(vsftpd + PAM)

常见文件:

/etc/vsftpd/vsftpd.conf
/etc/vsftpd/virtual_users.txt
/etc/pam.d/vsftpd
/var/lib/vsftpd/

直接把相关文件拷贝到新服务器即可。


2. FTP 数据目录迁移

常见目录:

/var/ftp
/home/ftpuser
/data/ftp

使用 rsync(推荐):

rsync -avz --delete /data/ftp/ root@新服务器IP:/data/ftp/

三、迁移 FTP 服务配置

vsftpd 配置文件

/etc/vsftpd/vsftpd.conf
/etc/vsftpd/

拷贝到新服务器:

scp -r /etc/vsftpd/ root@新服务器:/etc/

四、新服务器安装并启动 FTP

1. 安装 vsftpd

yum install -y vsftpd

2. 启动服务

systemctl enable vsftpd
systemctl start vsftpd

3. 检查状态

systemctl status vsftpd

五、防火墙与 SELinux

防火墙

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

SELinux(如开启)

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

六、切换与验证

  1. 修改 DNS 或客户端连接 IP
  2. 测试登录、上传、下载
  3. 确认权限、目录结构一致

七、可选:使用 SFTP 替代 FTP(更安全)

如果允许,推荐直接用 SFTP(SSH),迁移更简单:

  • 只迁移用户 + 数据
  • 不需要额外 FTP 服务

如果你愿意,可以告诉我:

  • 用的 哪种 FTP 服务(vsftpd / proftpd / pure-ftpd)
  • 是 系统用户还是虚拟用户
  • 是否在同一内网

我可以给你一份精确迁移命令清单。

0 踩