在 Linux 上迁移 FTP 服务器(如 vsftpd / proftpd / pure-ftpd)通常包含 数据迁移、配置迁移、用户与权限迁移、服务切换 几个步骤。下面给你一套通用、可落地的方案。
ps -ef | grep -E "vsftpd|proftpd|pure-ftpd"
或
systemctl status vsftpd
常见配置文件位置:
/etc/vsftpd//etc/proftpd//etc/pure-ftpd//data/ftp)在原服务器执行:
rsync -avz --delete /data/ftp/ user@newserver:/data/ftp/
如端口不同:
rsync -avz -e "ssh -p 22" /data/ftp/ user@newserver:/data/ftp/
✅ 优点:
tar czf ftpdata.tar.gz /data/ftp
scp ftpdata.tar.gz user@newserver:/data/
scp /etc/vsftpd/* user@newserver:/etc/vsftpd/
注意检查:
local_rootpasv_min_port / pasv_max_portlisten_ipv6ssl_enable导出用户:
getent passwd | grep ftp > ftpusers.txt
新服务器创建:
useradd -d /data/ftp/user -s /sbin/nologin user
迁移:
/etc/vsftpd/virtual_users.txt/etc/pam.d/vsftpd重新生成数据库:
db_load -T -t hash -f virtual_users.txt virtual_users.db
以 vsftpd 为例:
yum install vsftpd -y
# 或
apt install vsftpd -y
systemctl enable vsftpd
systemctl start vsftpd
开放防火墙:
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
ftp localhost
ftp newserver_ip
systemctl stop vsftpd
setsebool -P ftp_home_dir on
pasv_address 配置错误chown -R ftpuser:ftpuser /data/ftp
如果你能告诉我:
我可以给你更精确的迁移命令模板。