在 CentOS 上备份 FTP 服务器,通常分为 配置文件备份、用户数据备份 和 可选的系统级备份。下面以常见的 vsftpd(CentOS 默认常用 FTP 服务)为例说明。
先确认 FTP 服务类型:
rpm -qa | grep -E "vsftpd|proftpd|pure-ftpd"
常见情况:
vsftpd:最常见proftpd / pure-ftpd:较少见下面以 vsftpd 为主。
/etc/vsftpd/
tar czf vsftpd-config-$(date +%F).tar.gz /etc/vsftpd
包含内容通常:
vsftpd.confuser_listftpusersgrep -E "local_root|anon_root|user_sub_token" /etc/vsftpd/vsftpd.conf
常见路径:
/home/用户名/var/ftp/data/ftp)tar czf ftpdata-$(date +%F).tar.gz /home /var/ftp /data/ftp
(按实际情况调整路径)
cp /etc/passwd /etc/shadow /etc/group /backup/
或:
getent passwd | grep ftp > ftpusers.txt
如果使用了虚拟用户:
tar czf vsftpd-virtual-$(date +%F).tar.gz /etc/vsftpd/virtual_users.db
iptables-save > iptables-backup.txt
# 或 firewalld
firewall-cmd --list-all > firewalld-backup.txt
getenforce > selinux-mode.txt
crontab -e
例如每天凌晨 2 点:
0 2 * * * tar czf /backup/ftp-$(date +\%F).tar.gz /etc/vsftpd /home /var/ftp
tar xzf vsftpd-config-*.tar.gz -C /
tar xzf ftpdata-*.tar.gz -C /
systemctl restart vsftpd
rsync 增量备份如果你能告诉我:
我可以给你一份更精确的备份方案或脚本。