在 CentOS 上将 FTP 服务器迁移到另一台服务器,通常分为 配置迁移 + 数据迁移 + 服务切换 三步。下面以最常见的 vsftpd 为例说明(如果你用的是 proftpd / pure-ftpd 也可类比)。
rpm -qa | grep -E "vsftpd|proftpd|pure-ftpd"
FTP 用户通常是系统用户或虚拟用户。
导出用户和组信息:
grep ftpuser /etc/passwd > ftpusers.txt
grep ftpgroup /etc/group > ftpgroups.txt
(或整体复制相关行)
在新服务器创建用户:
useradd -m ftpuser
passwd ftpuser
⚠️ 注意 UID/GID 最好保持一致,否则文件权限会乱
常见文件:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/virtual_users.txt
/etc/pam.d/vsftpd
/var/lib/vsftpd/
直接把相关文件拷贝到新服务器即可。
常见目录:
/var/ftp
/home/ftpuser
/data/ftp
使用 rsync(推荐):
rsync -avz --delete /data/ftp/ root@新服务器IP:/data/ftp/
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/
拷贝到新服务器:
scp -r /etc/vsftpd/ root@新服务器:/etc/
yum install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd
systemctl status vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
如果允许,推荐直接用 SFTP(SSH),迁移更简单:
如果你愿意,可以告诉我:
我可以给你一份精确迁移命令清单。