在 Debian 上备份 vsftpd(VSFTPD)主要涉及配置文件和FTP 用户数据两部分。下面给你一套常用、实用的备份方法。
vsftpd 的主配置文件一般在:
/etc/vsftpd.conf
/etc/vsftpd/
sudo tar czvf vsftpd-conf-backup.tar.gz /etc/vsftpd.conf /etc/vsftpd/
sudo tar czvf vsftpd-pam-backup.tar.gz /etc/pam.d/vsftpd
vsftpd 本身不存用户文件,数据是系统用户或虚拟用户的目录。
grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf
常见目录:
/home/*
/srv/ftp
/var/ftp
sudo tar czvf ftp-data-backup.tar.gz /home /srv/ftp
如果 FTP 用的是系统用户:
sudo cp /etc/passwd /etc/shadow /etc/group /backup/
或只导出 FTP 用户:
grep -E "ftp" /etc/passwd
如果你用的是虚拟用户(pam_userdb):
sudo tar czvf vsftpd-virtual-backup.tar.gz /etc/vsftpd/vsftpd_user.db /etc/vsftpd/vsftpd_user.conf
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/vsftpd-$DATE
mkdir -p $BACKUP_DIR
cp -r /etc/vsftpd.conf $BACKUP_DIR/
cp -r /etc/vsftpd $BACKUP_DIR/
cp /etc/pam.d/vsftpd $BACKUP_DIR/ 2>/dev/null
tar czvf $BACKUP_DIR/ftp-data.tar.gz /home /srv/ftp
# 恢复配置
sudo cp -r vsftpd.conf /etc/
sudo cp -r vsftpd /etc/
# 恢复数据
sudo tar xzvf ftp-data-backup.tar.gz -C /
如果你愿意,可以告诉我:
我可以帮你写一份适合你服务器的备份方案。