插件窝 干货文章 CentOS 6和CentOS 7上搭建web服务器的备份策略

CentOS 6和CentOS 7上搭建web服务器的备份策略

备份 CentOS 文件 Web 122    来源:    2025-04-12

在CentOS 6和CentOS 7上搭建Web服务器的备份策略需要考虑系统差异、服务配置和业务需求。以下是详细的备份方案:


一、备份内容规划

  1. 系统关键文件

    • /etc:所有配置文件(Apache/Nginx、PHP、MySQL等)
    • /var/www 或自定义Web根目录
    • /var/log:日志文件(可选)
    • /home:用户数据(如有)
    • 数据库文件(MySQL/MariaDB的/var/lib/mysql或PostgreSQL的/var/lib/pgsql
  2. 数据库备份

    • MySQL/MariaDB:mysqldumpxtrabackup
    • PostgreSQL:pg_dump
  3. 服务配置

    • Web服务(Apache/Nginx)
    • PHP/FastCGI配置
    • 防火墙规则(iptables/firewalld

二、备份工具选择

1. CentOS 6

  • 文件备份tar + cron(原生工具)
  • 增量备份rsync + --link-dest(硬链接节省空间)
  • 数据库备份mysqldump(每日全量)+ binlog(增量)
  • 网络备份scprsync到远程服务器

2. CentOS 7

  • 文件备份tar/rsync 或工具如 BorgBackup(支持去重加密)
  • 数据库备份mariabackup(InnoDB热备)或pg_basebackup(PostgreSQL)
  • 自动化工具systemd timer替代cron(CentOS 7推荐)
  • 云存储rclone同步到AWS S3/Google Cloud

三、备份脚本示例

1. 文件备份脚本(通用)

#!/bin/bash
# 全量备份脚本(CentOS 6/7通用)
BACKUP_DIR="/backups/web_$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR

# 备份/etc和Web数据
tar -czf $BACKUP_DIR/web_config.tar.gz /etc/{httpd,nginx,php*} 
tar -czf $BACKUP_DIR/web_data.tar.gz /var/www

# MySQL备份(需配置~/.my.cnf免密)
mysqldump --all-databases | gzip > $BACKUP_DIR/mysql_all_$(date +%F).sql.gz

# 保留7天备份
find /backups -type d -name "web_*" -mtime +7 -exec rm -rf {} \;

2. Rsync增量备份(CentOS 6/7)

rsync -avz --delete --link-dest=/backups/last_full /var/www user@remote:/backups/web_current
ln -snf /backups/web_current /backups/last_full

3. CentOS 7的Systemd定时备份

# /etc/systemd/system/web-backup.timer
[Unit]
Description=Weekly Web Backup

[Timer]
OnCalendar=Mon *-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

四、备份策略设计

备份类型 频率 保留周期 工具 存储位置
全量备份 每周日 4周 tar + mysqldump 本地+远程NAS
增量备份 每日 7天 rsync 异地服务器
数据库 每日全量 30天 xtrabackup 云存储(S3)

五、灾后恢复步骤

  1. 恢复文件bash tar -xzf web_data.tar.gz -C /
  2. 恢复数据库bash zcat mysql_all_20231001.sql.gz | mysql
  3. 重启服务bash systemctl restart httpd mariadb # CentOS 7 service httpd restart # CentOS 6

六、注意事项

  1. 权限问题:备份时保留文件属性(tar -prsync -a)。
  2. 加密敏感数据:使用gpg加密备份文件。
  3. 测试恢复:定期验证备份有效性。
  4. CentOS 6差异:默认无firewalld,需备份iptables规则(iptables-save > /etc/sysconfig/iptables)。

通过以上策略,可确保CentOS 6/7的Web服务器数据安全。建议结合监控(如Zabbix)实时检测备份任务状态。