温馨提示×

如何备份ubuntu ftpserver

小樊
37
2026-10-05 12:07:14
栏目: 智能运维

在 Ubuntu 上备份 FTP 服务器,通常主要备份用户数据、配置文件和相关服务设置。下面以常见的 FTP 服务器(vsftpd / proftpd)为例,给你一套通用、可操作的备份方案。


一、先确认你用的是哪种 FTP 服务

systemctl status vsftpd
# 或
systemctl status proftpd

常见的是 vsftpd(最普遍)。


二、备份 FTP 用户数据(最重要)

1. 找到 FTP 根目录

一般 FTP 用户目录在:

/home/ftpuser
/srv/ftp
/var/ftp

查看 vsftpd 配置:

grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf

2. 打包用户数据

tar czvf ftp_data_$(date +%F).tar.gz /home/ftpuser

建议放到备份盘或远程:

rsync -avz /home/ftpuser /backup/ftp/

三、备份 FTP 配置文件

vsftpd

tar czvf ftp_config_$(date +%F).tar.gz \
  /etc/vsftpd.conf \
  /etc/vsftpd/

proftpd

tar czvf ftp_config_$(date +%F).tar.gz \
  /etc/proftpd/ \
  /etc/proftpd.conf

四、备份系统用户(如果 FTP 用系统用户)

# 用户账号
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

五、备份虚拟用户(如用 virtual users)

如果你用了:

  • PAM + db file
  • MySQL / PostgreSQL 用户

db 文件方式

cp /etc/vsftpd/vsftpd_user.db /backup/

MySQL 方式

mysqldump -u root -p ftpdb > ftpdb.sql

六、备份防火墙 & 服务设置(可选)

# 防火墙
sudo iptables-save > iptables.bak
# 或
sudo ufw status numbered

# 服务状态
systemctl list-unit-files | grep ftp

七、自动化备份(推荐)

使用 cron

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
✅ 虚拟用户数据库 / 数据库
✅ 系统用户文件(如用系统用户)


如果你愿意,可以告诉我:

  • 用的是 vsftpd 还是 proftpd
  • 是否用 虚拟用户
  • 是否在 云服务器

我可以给你一套完全适配你环境的备份脚本。

0 踩