摘要: 本文面向需要管理大规模服务器集群的运维人员,详细讲解如何在约100台运行CentOS7.9且采用LAMP(Linux+Apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)架构的服务器上,构建一套自动、可靠的全网备份体系。无论你是刚入行的新手还是经验丰富的工程师,都能通过本教程实现一键备份所有关键数据,确保业务安全。
在着手实施全网备份策略前,必须先梳理清楚备份范围。对于LAMP和LNMP环境,需要备份的数据通常包括:
针对100台服务器的规模,我们采用中心备份服务器 + 客户端推送的模式。每台服务器将数据备份到本地临时目录,然后通过 rsync 推送到专用的备份存储服务器,最后根据保留策略进行清理。下文将逐步演示如何编写脚本并自动化部署。
首先,需要一台高性能的备份存储服务器,建议配置大容量硬盘、RAID 保护,并安装好 CentOS7.9 系统。同时,所有被备份服务器应开启 rsync 服务(或使用 SSH 隧道)。为保证安全,可在备份服务器上创建专用备份用户,并配置 SSH 密钥认证,实现免密登录。
# 在备份服务器上创建用户(以 root 执行)useradd backuppasswd backupssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsassh-copy-id backup@每台服务器IP 核心脚本需兼容 LAMP 和 LNMP 环境,自动检测 Web 服务类型和 MySQL 连接方式。以下是脚本关键部分(LAMP备份教程 和 LNMP备份方案 的核心逻辑):
#!/bin/bashBACKUP_DIR=/backup/$(date +%Y%m%d)MYSQL_USER=rootMYSQL_PASS=yourpasswordREMOTE_BAK=backup@备份服务器IP:/backup_store/mkdir -p $BACKUP_DIRif systemctl is-active httpd &>/dev/null; thenWEB_CONF=/etc/httpd/conf/httpd.confWEB_ROOT=$(grep -i "^DocumentRoot" $WEB_CONF | awk "{print $2}" | head -1)elif systemctl is-active nginx &>/dev/null; thenWEB_CONF=/etc/nginx/nginx.confWEB_ROOT=$(grep -i "root" $WEB_CONF | grep -v "#" | awk "{print $2}" | sed "s/;//" | head -1)elseWEB_ROOT=/var/www/htmlfi[ -z "$WEB_ROOT" ] && WEB_ROOT=/var/www/htmlrsync -av $WEB_ROOT $BACKUP_DIR/web/mysql -u$MYSQL_USER -p$MYSQL_PASS -e "show databases" | grep -Ev "Database|information_schema|performance_schema" | while read db; domysqldump -u$MYSQL_USER -p$MYSQL_PASS --databases $db | gzip > $BACKUP_DIR/${db}.sql.gzdonecp -r /etc/{httpd,nginx,php,my.cnf} $BACKUP_DIR/conf/ 2>/dev/nullcrontab -l > $BACKUP_DIR/crontab.txttar czf /tmp/backup_$(hostname)_$(date +%Y%m%d).tar.gz -C $BACKUP_DIR .rsync -avz /tmp/backup_*.tar.gz $REMOTE_BAKfind /backup/ -type d -mtime +7 -exec rm -rf {} ;find /tmp/ -name "backup_*.tar.gz" -mtime +1 -delete 使用 Ansible 或 pssh 工具将脚本复制到所有100台服务器,并添加执行权限。然后配置 crontab 每天凌晨执行备份。以下是一个简单的 Ansible 命令示例:
ansible all -m copy -a "src=/path/to/backup.sh dest=/usr/local/bin/backup.sh mode=0755"ansible all -m cron -a "name=daily_backup minute=0 hour=2 job="/usr/local/bin/backup.sh &>/dev/null"" 备份的最终目的是能够恢复。建议每月随机抽取一台服务器,执行恢复测试。例如,恢复网站文件和数据库:
# 从备份服务器拉取最近备份scp backup@备份服务器IP:/backup_store/backup_web1_20250101.tar.gz .tar xzf backup_web1_20250101.tar.gzmysql -uroot -p < 数据库.sql 同时检查文件权限和 Web 服务是否正常。通过定期演练,确保在灾难发生时能快速恢复业务。
通过本文的CentOS7.9备份方案,你可以在100台 LAMP/LNMP 服务器上快速构建一套完整的全网备份策略。核心要点包括:区分 LAMP 和 LNMP 的配置差异、使用脚本自动判断环境、远程备份存储、以及定期恢复测试。这套方案已在生产环境稳定运行,帮助运维人员轻松应对数据丢失风险。如果你在实施中遇到问题,欢迎留言交流。
本文关键词:CentOS7.9备份、LAMP备份教程、LNMP备份方案、全网备份策略
本文由主机测评网于2026-02-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20260225795.html