← ClaudeAtlas

backup-strategylisted

备份策略设计
ryukyagamilight/terminal-skills · ★ 1 · AI & Automation · score 75
Install: claude install-skill ryukyagamilight/terminal-skills
# 备份策略设计 ## 概述 3-2-1 策略、备份验证、保留策略设计技能。 ## 3-2-1 备份策略 ### 核心原则 ``` 3 - 至少保留 3 份数据副本 2 - 存储在 2 种不同介质上 1 - 至少 1 份异地存储 扩展 3-2-1-1-0: 3 份副本 2 种介质 1 份异地 1 份离线/不可变 0 个错误(验证通过) ``` ### 实施示例 ```bash # 本地备份(副本 1) tar -czvf /backup/local/data_$(date +%Y%m%d).tar.gz /data # NAS 备份(副本 2,不同介质) rsync -avz /backup/local/ nas:/backup/ # 云备份(副本 3,异地) aws s3 sync /backup/local/ s3://backup-bucket/ ``` ## 备份类型 ### 完整备份 ```bash # 每周完整备份 tar -czvf /backup/full_$(date +%Y%m%d).tar.gz /data ``` ### 增量备份 ```bash # 基于时间戳 tar -czvf /backup/incr_$(date +%Y%m%d).tar.gz \ --newer-mtime="1 day ago" /data # 基于快照文件 tar -czvf /backup/incr.tar.gz -g /backup/snapshot.snar /data ``` ### 差异备份 ```bash # 基于完整备份时间 tar -czvf /backup/diff_$(date +%Y%m%d).tar.gz \ --newer-mtime="$(cat /backup/last_full_date)" /data ``` ## 保留策略 ### GFS 策略 ```bash # Grandfather-Father-Son # 日备份:保留 7 天 # 周备份:保留 4 周 # 月备份:保留 12 个月 # 年备份:保留 7 年 #!/bin/bash BACKUP_DIR="/backup" DATE=$(date +%Y%m%d) DOW=$(date +%u) # 1-7 DOM=$(date +%d) # 01-31 # 日备份 tar -czvf ${BACKUP_DIR}/daily/backup_${DATE}.tar.gz /data # 周备份(周日) if [ "$DOW" -eq 7 ]; then cp ${BACKUP_DIR}/daily/backup_${DATE}.tar.gz ${BACKUP_DIR}/weekly/ fi # 月备份(1号) if [ "$DOM" -eq "01" ]; then cp ${BACKUP_DIR}/daily/backup_${DATE}.tar.gz ${BACKUP_DIR}/monthly/ fi # 清理 find ${BACKUP_DIR}/daily -mtime +7 -delete find ${BACKUP_DIR}/weekly -mtime +28 -delete find ${BACKUP_DIR}/monthly -mtime +365 -delete ``` ### 滚动保留 ```bash #!/bin/bash # 保留最近 N 个备份 BAC