在 Linux 上备份 FTP 服务器,通常包含 用户数据、配置文件、权限和日志 等。下面按常见 FTP 服务(vsftpd / ProFTPD / Pure-FTPd)给你一套完整、实用的备份方案,并附示例命令。
| 备份内容 | 是否必须 | 说明 |
|---|---|---|
| FTP 用户数据 | ✅ | 用户上传的文件 |
| FTP 配置文件 | ✅ | 服务配置 |
| 用户账号信息 | ✅ | 虚拟用户、系统用户 |
| 权限与目录结构 | ✅ | 避免恢复后无法访问 |
| 日志文件 | ❌ | 可选 |
常见路径:
/var/ftp
/srv/ftp
/home/ftp
/home/*
查看配置文件确认:
grep -R "local_root\|anon_root\|ftp_home" /etc/
rsync -aAXv /data/ftp/ /backup/ftp_data_$(date +%F)/
✅ 保留:
tar -czvf ftp_backup_$(date +%F).tar.gz /data/ftp
恢复:
tar -xzvf ftp_backup_2026-01-21.tar.gz -C /
cp -a /etc/vsftpd/ /backup/vsftpd_conf_$(date +%F)
或:
tar -czvf vsftpd_conf.tar.gz /etc/vsftpd.conf /etc/vsftpd/
tar -czvf proftpd_conf.tar.gz /etc/proftpd/
tar -czvf pureftpd_conf.tar.gz /etc/pure-ftpd/
cp /etc/passwd /backup/passwd
cp /etc/shadow /backup/shadow
cp /etc/group /backup/group
⚠️ 恢复时注意 UID/GID 一致性
tar -czvf vsftpd_vuser.tar.gz /etc/vsftpd/vuser.db /etc/pam.d/vsftpd
tar -czvf pureftpd_passwd.tar.gz /etc/pure-ftpd/pureftpd.passwd
getfacl -R /data/ftp > ftp_acl_backup.txt
恢复:
setfacl --restore=ftp_acl_backup.txt
find /data/ftp -type d > ftp_dirs.txt
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/
# 恢复数据
rsync -aAX /backup/ftp/ /data/ftp/
# 恢复配置
cp -a /backup/vsftpd_conf/* /etc/vsftpd/
# 恢复权限
setfacl --restore=ftp_acl_backup.txt
# 重启服务
systemctl restart vsftpd
| 类型 | 建议 |
|---|---|
| 全量 | 每周 |
| 增量 | 每天 |
| 本地 | ✅ |
| 远程 | ✅ |
| 测试恢复 | 至少每季度 |
你可以告诉我:
我可以给你 完全可执行的专用备份脚本。