在 Debian 上备份 vsftpd(Very Secure FTP Daemon) 的配置和数据,通常包含 配置文件、用户相关配置 以及 FTP 数据目录。下面按常见场景给你一个完整、安全的备份方案。
vsftpd 的主配置文件一般在:
/etc/vsftpd.conf
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
或打包备份:
sudo tar czvf vsftpd-config-$(date +%F).tar.gz /etc/vsftpd.conf
有些系统可能包含额外配置:
/etc/vsftpd/
/etc/ftpusers
/etc/ftpd/
备份整个目录:
sudo tar czvf vsftpd-etc-$(date +%F).tar.gz /etc/vsftpd.conf /etc/ftpusers
vsftpd 默认使用系统用户(如 /home/user)。
getent passwd > users.txt
getent group > groups.txt
假设 FTP 用户数据在 /home:
sudo tar czvf ftp-home-$(date +%F).tar.gz /home
⚠️ 注意:如果数据量大,建议只备份 FTP 相关目录。
常见于 /etc/vsftpd/virtual_users.db
sudo cp /etc/vsftpd/virtual_users.db /etc/vsftpd/virtual_users.db.bak
sudo cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
查看 vsftpd.conf 中定义的目录:
grep -E "local_root|anon_root|chroot" /etc/vsftpd.conf
常见目录:
/var/ftp
/srv/ftp
/home/*
备份示例:
sudo tar czvf ftp-data-$(date +%F).tar.gz /var/ftp
systemctl status vsftpd
sudo cp /lib/systemd/system/vsftpd.service /lib/systemd/system/vsftpd.service.bak
backup_vsftpd.sh#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/vsftpd
mkdir -p $BACKUP_DIR
tar czvf $BACKUP_DIR/vsftpd-config-$DATE.tar.gz /etc/vsftpd.conf
tar czvf $BACKUP_DIR/ftp-data-$DATE.tar.gz /var/ftp
赋予执行权限:
chmod +x backup_vsftpd.sh
加入定时任务:
crontab -e
每天凌晨 2 点备份:
0 2 * * * /path/backup_vsftpd.sh
sudo tar xzvf vsftpd-config-2026-01-21.tar.gz -C /
sudo systemctl restart vsftpd
✅ 确保备份包含:
/etc/vsftpd.conf✅ 恢复后检查:
vsftpd -olisten=NO
systemctl status vsftpd
✅ 防火墙 / SELinux(Debian 默认无 SELinux,但 AppArmor 可能影响)
如果你愿意,可以告诉我:
我可以帮你定制一套 最小、最安全的备份方案。