Debian 系统中 Copidar 的备份策略
一 适用前提与总体思路
二 备份范围与保留目标
| 备份对象 | 典型路径 | 推荐频率 | 保留周期 | 主要方法 |
|---|---|---|---|---|
| 数据目录 | /opt/copidar/data 或 /var/lib/copidar/data | 每日 | 7–30 天 | rsync 镜像、tar 快照 |
| 配置文件 | ~/.copidar | 每日或配置变更后 | ≥90 天 | rsync/tar 复制 |
| 日志文件 | /var/log/copidar.log(若存在) | 每日 | 7–30 天 | 与数据同策略或单独归档 |
三 具体备份策略与示例
#!/usr/bin/env bash
set -Eeuo pipefail
DATA_SRC="/opt/copidar/data"
CONF_SRC="$HOME/.copidar"
BACKUP_ROOT="/backup/copidar"
DATE=$(date +%F)
mkdir -p "$BACKUP_ROOT"
# 1) 镜像数据目录
rsync -a --delete "$DATA_SRC/" "$BACKUP_ROOT/data_latest/"
# 2) 镜像配置目录
rsync -a "$CONF_SRC/" "$BACKUP_ROOT/conf_latest/"
# 3) 生成按日快照归档
tar -czf "$BACKUP_ROOT/data_${DATE}.tar.gz" -C "$BACKUP_ROOT" data_latest
tar -czf "$BACKUP_ROOT/conf_${DATE}.tar.gz" -C "$BACKUP_ROOT" conf_latest
# 4) 清理快照(保留最近 N 天)
N=14
find "$BACKUP_ROOT" -name 'data_*.tar.gz' -mtime +$N -delete
find "$BACKUP_ROOT" -name 'conf_*.tar.gz' -mtime +$N -delete
0 2 * * * /usr/local/bin/backup_copidar.sh >>/var/log/copidar-backup.log 2>&1
rsync -av --delete "$BACKUP_ROOT/" user@remote:/backup/copidar/
0 2 * * * tar -czf /backup/copidar-data-$(date +\%F).tar.gz /opt/copidar/data
0 2 * * * tar -czf /backup/copidar-conf-$(date +\%F).tar.gz ~/.copidar
0 3 * * * find /backup -name 'copidar-*.tar.gz' -mtime +14 -delete
四 恢复与验证
cp -r /backup/copidar/conf_latest ~/.copidar
# 或解压快照
tar -xzf /backup/copidar/conf_2025-04-01.tar.gz -C ~
rsync -a --delete /backup/copidar/data_latest/ /opt/copidar/data
tar -xzf /backup/copidar/data_2025-04-01.tar.gz -C /tmp
rsync -a --delete /tmp/data_latest/ /opt/copidar/data
五 安全与运维要点