在 Debian 上“迁移 FTPServer 文件”通常有两种理解:
下面我按**常见场景(vsftpd / proftpd)**给你一套可操作的迁移方案。
dpkg -l | grep -E "vsftpd|proftpd"
常见情况:
vsftpd:最常见proftpd:功能更强假设 FTP 根目录是 /srv/ftp:
tar czvf ftp_data.tar.gz /srv/ftp
scp ftp_data.tar.gz user@newserver:/tmp/
tar xzvf /tmp/ftp_data.tar.gz -C /
✅ 适合:只迁移文件,不迁移用户和配置
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
apt update
apt install vsftpd
tar xzvf vsftpd_backup.tar.gz -C /
systemctl restart vsftpd
tar czvf proftpd_backup.tar.gz \
/etc/proftpd \
/srv/ftp \
/etc/passwd /etc/shadow /etc/group
apt install proftpd
tar xzvf proftpd_backup.tar.gz -C /
systemctl restart proftpd
备份:
/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/
好处:
/var/log/vsftpd.log)如果你能告诉我:
我可以给你精确到命令的迁移脚本。