温馨提示×

Linux FTP服务器如何备份

小樊
36
2026-07-06 05:02:21
栏目: 云计算

在 Linux 上备份 FTP 服务器,通常包含 用户数据、配置文件、权限和日志 等。下面按常见 FTP 服务(vsftpd / ProFTPD / Pure-FTPd)给你一套完整、实用的备份方案,并附示例命令。


一、先明确你要备份什么

备份内容 是否必须 说明
FTP 用户数据 用户上传的文件
FTP 配置文件 服务配置
用户账号信息 虚拟用户、系统用户
权限与目录结构 避免恢复后无法访问
日志文件 可选

二、备份 FTP 数据目录(最重要)

1️⃣ 找到 FTP 根目录

常见路径:

/var/ftp
/srv/ftp
/home/ftp
/home/*

查看配置文件确认:

grep -R "local_root\|anon_root\|ftp_home" /etc/

2️⃣ 使用 rsync 备份(推荐)

rsync -aAXv /data/ftp/ /backup/ftp_data_$(date +%F)/

✅ 保留:

  • 文件权限
  • 所有者
  • SELinux 上下文(如启用)

3️⃣ 使用 tar 打包备份

tar -czvf ftp_backup_$(date +%F).tar.gz /data/ftp

恢复:

tar -xzvf ftp_backup_2026-01-21.tar.gz -C /

三、备份 FTP 配置文件

vsftpd

cp -a /etc/vsftpd/ /backup/vsftpd_conf_$(date +%F)

或:

tar -czvf vsftpd_conf.tar.gz /etc/vsftpd.conf /etc/vsftpd/

ProFTPD

tar -czvf proftpd_conf.tar.gz /etc/proftpd/

Pure-FTPd

tar -czvf pureftpd_conf.tar.gz /etc/pure-ftpd/

四、备份 FTP 用户账号

✅ 系统用户(本地用户)

cp /etc/passwd /backup/passwd
cp /etc/shadow /backup/shadow
cp /etc/group  /backup/group

⚠️ 恢复时注意 UID/GID 一致性


✅ 虚拟用户(常见)

vsftpd 虚拟用户

tar -czvf vsftpd_vuser.tar.gz /etc/vsftpd/vuser.db /etc/pam.d/vsftpd

Pure-FTPd

tar -czvf pureftpd_passwd.tar.gz /etc/pure-ftpd/pureftpd.passwd

五、备份权限与目录结构(重要)

1️⃣ 备份 ACL

getfacl -R /data/ftp > ftp_acl_backup.txt

恢复:

setfacl --restore=ftp_acl_backup.txt

2️⃣ 备份目录结构(不含文件)

find /data/ftp -type d > ftp_dirs.txt

六、自动化备份(cron)

示例:每天凌晨 2 点备份

crontab -e
0 2 * * * rsync -aAX /data/ftp /backup/ftp_$(date +\%F)

七、远程备份(可选)

备份到远程服务器

rsync -aAXv /data/ftp/ user@backup-server:/backup/ftp/

或使用 scp:

scp ftp_backup.tar.gz user@remote:/backup/

八、恢复 FTP 服务器(简要流程)

# 恢复数据
rsync -aAX /backup/ftp/ /data/ftp/

# 恢复配置
cp -a /backup/vsftpd_conf/* /etc/vsftpd/

# 恢复权限
setfacl --restore=ftp_acl_backup.txt

# 重启服务
systemctl restart vsftpd

九、推荐备份策略 ✅

类型 建议
全量 每周
增量 每天
本地
远程
测试恢复 至少每季度

十、需要我帮你细化吗?

你可以告诉我:

  1. 使用的是 vsftpd / ProFTPD / Pure-FTPd
  2. 系统用户还是虚拟用户
  3. 是否有 SELinux / 防火墙
  4. 数据量大小

我可以给你 完全可执行的专用备份脚本

0