温馨提示×

centos ftpserver怎样做备份

小樊
41
2026-09-18 04:37:22
栏目: 智能运维

在 CentOS 上备份 FTP 服务器,通常分为 配置文件备份用户数据备份可选的系统级备份。下面以常见的 vsftpd(CentOS 默认常用 FTP 服务)为例说明。


一、确定你使用的 FTP 服务

先确认 FTP 服务类型:

rpm -qa | grep -E "vsftpd|proftpd|pure-ftpd"

常见情况:

  • vsftpd:最常见
  • proftpd / pure-ftpd:较少见

下面以 vsftpd 为主。


二、备份 FTP 配置文件

vsftpd 配置文件位置

/etc/vsftpd/

备份命令

tar czf vsftpd-config-$(date +%F).tar.gz /etc/vsftpd

包含内容通常:

  • vsftpd.conf
  • user_list
  • ftpusers
  • 虚拟用户相关配置(如有)

三、备份 FTP 用户数据(最重要)

1. 查看 FTP 根目录

grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd/vsftpd.conf

常见路径:

  • 系统用户 FTP:/home/用户名
  • 匿名 FTP:/var/ftp
  • 虚拟用户:自定义目录(如 /data/ftp

2. 备份数据目录

tar czf ftpdata-$(date +%F).tar.gz /home /var/ftp /data/ftp

(按实际情况调整路径)


四、备份 FTP 用户账号信息

系统用户 FTP

cp /etc/passwd /etc/shadow /etc/group /backup/

或:

getent passwd | grep ftp > ftpusers.txt

虚拟用户(如 db 文件)

如果使用了虚拟用户:

tar czf vsftpd-virtual-$(date +%F).tar.gz /etc/vsftpd/virtual_users.db

五、备份防火墙与 SELinux 设置(可选但推荐)

iptables-save > iptables-backup.txt
# 或 firewalld
firewall-cmd --list-all > firewalld-backup.txt

getenforce > selinux-mode.txt

六、自动化备份(推荐)

使用 cron 定时备份

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 / scp / 云存储)
  • 大文件用 rsync 增量备份
  • 数据库类 FTP 用户需单独导出

如果你能告诉我:

  • 使用的是 vsftpd / proftpd / pure-ftpd
  • 是否是 系统用户 / 虚拟用户
  • 数据量大小

我可以给你一份更精确的备份方案或脚本

0