在现代企业运维中,面对100台运行CentOS7.9备份的服务器集群,且它们分别承载着LAMP备份(Linux+Apache+MySQL+PHP)和LNMP备份(Linux+Nginx+MySQL+PHP)架构,设计一套完善的全网备份方案至关重要。本文将手把手教你如何实现自动化、集中化的备份系统,确保数据安全。
全网备份需涵盖系统配置文件、网站源码、数据库数据以及日志文件。我们采用“备份服务器+客户端脚本”的模式:所有服务器将数据推送到中央备份服务器,并通过定时任务实现每日增量或全量备份。关键工具包括rsync、mysqldump、tar等。
- 备份服务器:一台高配CentOS7.9,安装rsync服务端,配置存储空间(如NFS或本地RAID)。- 客户端服务器:100台CentOS7.9,确保rsync客户端可用,MySQL/MariaDB运行正常。
编辑/etc/rsyncd.conf,设置模块、路径和认证用户。例如:
uid = rootgid = rootuse chroot = nomax connections = 200pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log[backup]path = /data/backup/ignore errorsread only = nolist = falseauth users = backup_usersecrets file = /etc/rsyncd.secrets 创建密码文件/etc/rsyncd.secrets,格式backup_user:password,权限600。启动rsync服务并设置开机自启。
在每台客户端创建备份脚本/usr/local/bin/backup.sh,包含以下功能:
#!/bin/bash# 定义变量BACKUP_DIR="/tmp/backup_$(hostname)"DATE=$(date +%Y%m%d)MYSQL_USER="root"MYSQL_PASS="yourpassword"RSYNC_SERVER="192.168.1.100"RSYNC_MODULE="backup"RSYNC_USER="backup_user"RSYNC_PASS="password"# 创建临时目录mkdir -p $BACKUP_DIR# 备份网站源码cd /var/www tar czf $BACKUP_DIR/www_$DATE.tar.gz html/# 备份数据库mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases > $BACKUP_DIR/mysql_$DATE.sql# 备份系统配置cp -r /etc $BACKUP_DIR/etc_$DATE# 打包所有内容tar czf /tmp/backup_full_$DATE.tar.gz -C $BACKUP_DIR .# 通过rsync发送到备份服务器export RSYNC_PASSWORD=$RSYNC_PASSrsync -avz /tmp/backup_full_$DATE.tar.gz $RSYNC_USER@$RSYNC_SERVER::$RSYNC_MODULE/$(hostname)/# 清理临时文件rm -rf $BACKUP_DIR /tmp/backup_full_$DATE.tar.gz 赋予执行权限:chmod +x /usr/local/bin/backup.sh。注意根据实际环境修改MySQL密码、备份路径等。
使用crontab添加定时备份任务:
0 2 * * * /usr/local/bin/backup.sh > /dev/null 2>&1 每天凌晨2点执行备份。对于数据库,可考虑先备份到本地再同步,以减少锁表时间。
定期检查备份服务器上的文件是否完整,并抽取一台服务器进行恢复测试。例如:解压网站源码、导入数据库,确保服务正常。
- 对于LAMP备份和LNMP备份,由于架构差异,可分别优化:LAMP环境下Apache配置和MySQL数据一致性;LNMP环境下Nginx配置和PHP会话文件备份。- 使用硬链接或增量备份节省空间。- 监控备份任务执行状态,失败时发送告警。
通过以上步骤,100台CentOS7.9服务器的全网备份体系即可搭建完成。这套方案不仅适用于LAMP/LNMP集群,稍作修改也可用于其他环境。坚持每日备份,关键数据多重保护,让运维更安心!
本文由主机测评网于2026-02-27发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20260227515.html