centos stream8备份策略
导读:CentOS Stream 8 备份策略与落地方案 一 策略总览 备份范围与层级 系统配置:优先备份 /etc、包管理状态(如 rpm/dnf 数据库)、关键服务配置(如 nginx、postfix、firewalld)。 业务数据:按...
CentOS Stream 8 备份策略与落地方案
一 策略总览
- 备份范围与层级
- 系统配置:优先备份 /etc、包管理状态(如 rpm/dnf 数据库)、关键服务配置(如 nginx、postfix、firewalld)。
- 业务数据:按业务划分目录(如 /var/www、/opt、/srv),数据库单独备份(如 MySQL/MariaDB、PostgreSQL)。
- 排除项:避免备份 /proc、/sys、/dev、/tmp、/run、/mnt、/media、/lost+found 等虚拟或临时文件系统。
- 备份类型与频率
- 全量:每周一次,保留最近 2–4 周。
- 增量:每日一次(或每 6–12 小时一次),保留最近 7–14 天。
- 实时/近实时:对关键目录使用 Syncthing 等工具做持续同步到独立主机/云端。
- 存储与保留
- 采用 3-2-1 策略:至少 3 份副本、2 种不同介质、1 份异地/离线。
- 本地保留用于快速回滚,异地/云端用于灾难恢复。
- 安全与合规
- 备份数据加密(传输与静态)、最小权限访问、记录操作审计。
- 恢复目标
- 明确 RPO(恢复点目标) 与 RTO(恢复时间目标),据此选择频率与保留周期。
- 重要提醒
- CentOS Stream 8 已于 2024-05-01 终止维护,官方不再提供 yum 源与安全更新,存在严重安全隐患。建议尽快升级至 CentOS Stream 9 或迁移至 Rocky Linux 8/9;在过渡期务必强化备份与隔离网络访问。
二 工具与方法选型
- 文件与目录
- tar:创建压缩归档,适合全量与配置快照;可排除虚拟/临时目录。
- rsync:本地/远程同步,支持增量;配合 –link-dest 实现“快照式”增量保留,节省空间。
- 数据库
- MySQL/MariaDB:逻辑备份用 mysqldump;物理/热备可用 Percona XtraBackup(支持全量/增量)。
- PostgreSQL:使用 pg_dump/pg_dumpall 做逻辑备份,或文件系统/块级快照(需一致性保障)。
- 实时/近实时
- Syncthing:多端持续同步,适合关键目录的近实时备份与多机互备。
- 自动化与编排
- cron 定时任务、systemd 服务管理、日志轮转(如 logrotate)与备份清单校验。
三 示例方案与命令
- 全量与增量备份脚本(rsync + 快照式保留)
- 目录结构:/backups/rsync/YYYYMMDD/
- 首次全量
#!/usr/bin/env bash set -Eeuo pipefail BACKUP_ROOT="/backups/rsync" DATE=$(date +%Y%m%d) SRC="/etc /var" EXCLUDE=(/dev /proc /sys /tmp /run /mnt /media /lost+found) mkdir -p "$BACKUP_ROOT/$DATE" RSYNC_OPTS=(-a -z --delete) for e in "${ EXCLUDE[@]} "; do RSYNC_OPTS+=(--exclude="$e") done rsync "${ RSYNC_OPTS[@]} " $SRC "$BACKUP_ROOT/$DATE/" - 后续增量(基于 --link-dest 快照)
# 在上面的脚本末尾追加(示例保留最近7天) KEEP=7 PREV=$(date -d "$DATE -1 day" +%Y%m%d) if [[ -d "$BACKUP_ROOT/$PREV" ]]; then rsync "${ RSYNC_OPTS[@]} " --link-dest="$BACKUP_ROOT/$PREV" $SRC "$BACKUP_ROOT/$DATE/" fi # 清理过期 ls -1 "$BACKUP_ROOT" | sort -r | tail -n +$((KEEP+1)) | xargs -r rm -rf
- 全量归档备份(tar)
sudo mkdir -p /backups/tar sudo tar -czvf /backups/tar/centos_stream_$(date +%Y%m%d).tar.gz \ --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp \ --exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found \ /etc /var - 数据库备份示例
- MySQL/MariaDB
mysqldump -u root -p --single-transaction --routines --triggers --databases your_db > /backups/db/your_db_$(date +%F).sql - PostgreSQL
pg_dump -U postgres -F c -f /backups/db/pg_$(date +%F).dump your_db
- MySQL/MariaDB
- 实时同步(Syncthing,关键目录近实时)
# 安装后修改 /root/.config/syncthing/config.xml 中 < address> 127.0.0.1:8384< /address> 为 < address> 0.0.0.0:8384< /address> sudo systemctl restart syncthing@root.service sudo systemctl enable syncthing@root.service - 定时任务(cron)
# 每天 02:00 执行全量/增量脚本 0 2 * * * /usr/local/bin/backup_rsync.sh > > /var/log/backup_rsync.log 2> & 1 # 每周日 03:00 做一次 tar 全量归档 0 3 * * 0 /usr/local/bin/backup_tar.sh > > /var/log/backup_tar.log 2> & 1
以上命令与做法基于 tar/rsync/Syncthing/cron 的常用实践,适用于 CentOS Stream 8 的文件与配置备份场景。
四 恢复流程与验证
- 目录/配置恢复(rsync)
sudo rsync -avz /backups/rsync/2025*/etc/ /etc/ sudo rsync -avz /backups/rsync/2025*/var/ /var/ - 归档恢复(tar)
sudo tar -xzvf /backups/tar/centos_stream_2025-*.tar.gz -C / - 数据库恢复
- MySQL/MariaDB
mysql -u root -p < /backups/db/your_db_2025-*.sql - PostgreSQL
pg_restore -U postgres -d your_db /backups/db/pg_2025-*.dump
- MySQL/MariaDB
- 验证与演练
- 定期校验备份完整性(如 sha256sum)、抽样恢复演练、检查应用与数据库可用性。
- 将备份与恢复步骤纳入变更流程,确保关键操作前已有可用备份。
五 监控 保留与迁移建议
- 监控与告警
- 记录 cron 输出与系统日志,监控备份目录容量与最近一次成功时间;失败即告警。
- 保留与容量
- 结合业务变更频率设置保留(如全量 2–4 周、增量 7–14 天),并配置容量阈值与自动清理。
- 迁移与升级
- 在迁移/升级前做一次全量备份;迁移后在隔离网络验证恢复流程,再切换生产流量。
- 安全加固
- 备份存储与传输加密、访问最小化、定期更换凭据;对云端/异地副本启用版本与对象锁(如支持)。
- 版本风险提示
- 再次强调:CentOS Stream 8 已停止维护,应尽快升级至 CentOS Stream 9 或迁移至 Rocky Linux 8/9,以降低安全与合规风险。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos stream8备份策略
本文地址: https://pptw.com/jishu/785647.html
