迁移 Linux FTP 服务器数据,通常包含 用户数据、FTP 目录、配置文件 三部分。下面按 最常见、最稳妥 的方式给你一个完整流程(以 vsftpd 为例,其他 FTP 服务类似)。
常见 FTP 服务:
查看当前服务:
ps -ef | grep ftp
# 或
systemctl status vsftpd
| 类型 | 内容 |
|---|---|
| 用户数据 | /etc/passwd、/etc/shadow、/etc/group |
| FTP 配置 | /etc/vsftpd/、/etc/vsftpd.conf |
| FTP 数据 | /home/ftp、/srv/ftp 等 |
| 权限 | UID/GID、目录权限 |
| 被动端口 | iptables / firewalld |
适合服务器更换、云迁移
tar czvf ftp_backup.tar.gz \
/etc/vsftpd \
/etc/passwd /etc/shadow /etc/group \
/var/spool/mail \
/home/ftp
scp ftp_backup.tar.gz root@new_server:/root/
tar xzvf ftp_backup.tar.gz -C /
id ftpuser
如不一致,手动调整:
usermod -u 旧UID ftpuser
groupmod -g 旧GID ftpuser
chown -R ftpuser:ftpuser /home/ftp
systemctl stop vsftpd
rsync -avz --delete /data/ftp/ root@new_server:/data/ftp/
scp /etc/vsftpd/vsftpd.conf root@new_server:/etc/vsftpd/
useradd -d /data/ftp -s /sbin/nologin ftpuser
passwd ftpuser
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
systemctl restart vsftpd
systemctl enable vsftpd
测试:
ftp new_server_ip
或使用 FileZilla。
/etc/shells/etc/shellschown -R ftpuser:ftpuser /data/ftp
chmod 755 /data/ftp
如果你愿意,可以告诉我:
我可以给你 一步不漏的命令清单 ✅