在 Ubuntu 上备份 FTP 服务器,通常主要备份用户数据、配置文件和相关服务设置。下面以常见的 FTP 服务器(vsftpd / proftpd)为例,给你一套通用、可操作的备份方案。
systemctl status vsftpd
# 或
systemctl status proftpd
常见的是 vsftpd(最普遍)。
一般 FTP 用户目录在:
/home/ftpuser
/srv/ftp
/var/ftp
查看 vsftpd 配置:
grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf
tar czvf ftp_data_$(date +%F).tar.gz /home/ftpuser
建议放到备份盘或远程:
rsync -avz /home/ftpuser /backup/ftp/
tar czvf ftp_config_$(date +%F).tar.gz \
/etc/vsftpd.conf \
/etc/vsftpd/
tar czvf ftp_config_$(date +%F).tar.gz \
/etc/proftpd/ \
/etc/proftpd.conf
# 用户账号
sudo cp /etc/passwd /backup/passwd.bak
sudo cp /etc/shadow /backup/shadow.bak
sudo cp /etc/group /backup/group.bak
# 或导出 FTP 用户
getent passwd | grep ftp > ftp_users.txt
如果你用了:
cp /etc/vsftpd/vsftpd_user.db /backup/
mysqldump -u root -p ftpdb > ftpdb.sql
# 防火墙
sudo iptables-save > iptables.bak
# 或
sudo ufw status numbered
# 服务状态
systemctl list-unit-files | grep ftp
crontab -e
每天凌晨 2 点:
0 2 * * * tar czf /backup/ftp_$(date +\%F).tar.gz /home/ftpuser /etc/vsftpd.conf
tar xzvf ftp_data_2026-01-21.tar.gz -C /
systemctl restart vsftpd
✅ FTP 用户数据目录
✅ /etc/vsftpd.conf
✅ 虚拟用户数据库 / 数据库
✅ 系统用户文件(如用系统用户)
如果你愿意,可以告诉我:
我可以给你一套完全适配你环境的备份脚本。