在 CentOS 上备份 FTP Server 数据,通常就是备份 FTP 用户数据(文件) + 配置文件 +(可选)用户和权限信息。下面按常见 FTP 服务(vsftpd / proftpd)给你一套实用方案。
rpm -qa | grep -E "vsftpd|proftpd"
常见的是 vsftpd(CentOS 默认)。
vsftpd 常见目录:
grep ftp_username /etc/vsftpd/vsftpd.conf
# 或
ls -ld /var/ftp
用户数据一般在:
/home/ftpuser/var/ftplocal_root)tar czvf ftp_data_$(date +%F).tar.gz /home/ftpuser /var/ftp
tar czvf ftp_conf_$(date +%F).tar.gz /etc/vsftpd
tar czvf ftp_conf_$(date +%F).tar.gz /etc/proftpd.conf /etc/proftpd
getent passwd | grep ftp
getent shadow | grep ftp > ftp_shadow.bak
⚠️ shadow 含密码,注意权限:
chmod 600 ftp_shadow.bak
常见文件:
/etc/vsftpd/virtual_users.txt
/etc/vsftpd/virtual_users.db
备份:
tar czvf ftp_vuser_$(date +%F).tar.gz \
/etc/vsftpd/virtual_users.txt \
/etc/vsftpd/virtual_users.db
/root/ftp_backup.sh
#!/bin/bash
DATE=$(date +%F)
tar czf /backup/ftp_data_$DATE.tar.gz /home/ftpuser /var/ftp
tar czf /backup/ftp_conf_$DATE.tar.gz /etc/vsftpd
crontab -e
0 3 * * * /root/ftp_backup.sh
rsync -avz /home/ftpuser backup@backupserver:/backup/ftp/
tar xzvf ftp_data_2026-01-21.tar.gz -C /
systemctl restart vsftpd
如果你能告诉我:
我可以给你更精确的备份方案(增量 / 加密 / 异地)。