#!/usr/bin/env bash # I-02 本仓备份脚本:打包 PLANNING(任务资产)+ docs/e2e-proof(验证证据)→ 带 sha256 的归档。 # 不含任何密钥:只收 PLANNING + docs/e2e-proof;(服务器数据)/.env/docker.env 一律不碰。 set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" STAMP="$(date +%Y%m%d-%H%M%S)" OUT_DIR="$ROOT/backups" mkdir -p "$OUT_DIR" ARCHIVE="$OUT_DIR/planning-backup-$STAMP.tar.gz" tar -czf "$ARCHIVE" -C "$ROOT" PLANNING docs/e2e-proof sha256sum "$ARCHIVE" > "$ARCHIVE.sha256" # 保留策略:只留最近 7 个归档 ls -1t "$OUT_DIR"/planning-backup-*.tar.gz 2>/dev/null | tail -n +8 | xargs -r rm -f ls -1t "$OUT_DIR"/planning-backup-*.tar.gz.sha256 2>/dev/null | tail -n +8 | xargs -r rm -f echo "backup: $ARCHIVE" cat "$ARCHIVE.sha256"