在 Debian 上备份 FTP 服务器,通常包含用户数据(文件)、FTP 服务配置和(可选)用户/权限信息。下面以常见的 FTP 服务端(vsftpd / proftpd / pure-ftpd)为例说明。
FTP 主要是用来传文件的,所以用户数据目录必须备份。
常见位置:
/srv/ftp/home/ftp/var/ftp/home/username)查看 vsftpd 配置:
grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf
tar czf ftpdata-$(date +%F).tar.gz /srv/ftp
建议放到异地或备份盘:
cp ftpdata-*.tar.gz /mnt/backup/
不同 FTP 服务配置文件位置不同。
tar czf vsftpd-conf-$(date +%F).tar.gz /etc/vsftpd/
tar czf proftpd-conf-$(date +%F).tar.gz /etc/proftpd/ /etc/proftpd.conf
tar czf pureftpd-conf-$(date +%F).tar.gz /etc/pure-ftpd/
如果 FTP 用户是 Linux 系统用户:
# 用户
getent passwd > users.txt
# 组
getent group > groups.txt
或直接备份:
tar czf sysuser-$(date +%F).tar.gz /etc/passwd /etc/shadow /etc/group
⚠️ /etc/shadow 含密码,注意权限安全。
例如 vsftpd + PAM + db 文件:
tar czf ftp-virtual-users-$(date +%F).tar.gz /etc/vsftpd/virtual_users.db
或 pure-ftpd 的 puredb:
tar czf pureftpd-pdb-$(date +%F).tar.gz /etc/pure-ftpd/pureftpd.pdb
rsync -aH --delete /srv/ftp/ /mnt/backup/ftp/
适合定期自动备份。
加入 cron:
crontab -e
示例(每天 3 点):
0 3 * * * tar czf /backup/ftp-$(date +\%F).tar.gz /srv/ftp
tar xzf ftpdata-2026-01-15.tar.gz -C /
systemctl restart vsftpd
如果你能告诉我:
我可以给你一份精确可执行的备份脚本。