#!/bin/bash
# backup-spec.sh
# anu-system-spec.md를 6시간마다 백업하는 스크립트.
# 작성자: 카르티케야 (개발4팀 백엔드 개발자)

set -euo pipefail

# ── 경로 상수 ──────────────────────────────────────────────────────────────
SOURCE_FILE="/home/jay/workspace/memory/specs/anu-system-spec.md"
BACKUP_BASE="/home/jay/workspace/memory/backups/system-spec"

# ── 원본 파일 존재 확인 ────────────────────────────────────────────────────
if [[ ! -f "${SOURCE_FILE}" ]]; then
    echo "ERROR: 원본 파일이 존재하지 않습니다: ${SOURCE_FILE}" >&2
    exit 1
fi

# ── 백업 경로 생성 ─────────────────────────────────────────────────────────
# YYYY-MM-DD_HH 형식 (HH: 0패딩 2자리)
TIMESTAMP="$(date '+%Y-%m-%d_%H')"
BACKUP_DIR="${BACKUP_BASE}/${TIMESTAMP}"
BACKUP_FILE="${BACKUP_DIR}/anu-system-spec.md"

# ── 백업 디렉토리 생성 및 복사 ─────────────────────────────────────────────
mkdir -p "${BACKUP_DIR}"
cp "${SOURCE_FILE}" "${BACKUP_FILE}"

# ── 성공 메시지 ───────────────────────────────────────────────────────────
echo "${BACKUP_FILE}"

# ── 보존 정책: 7일 초과 백업 삭제 ─────────────────────────────────────────
# system-spec/ 하위에서 수정시간이 7일 초과한 디렉토리를 삭제
find "${BACKUP_BASE}" \
    -maxdepth 1 \
    -mindepth 1 \
    -type d \
    -mtime +7 \
    -exec rm -rf {} +

exit 0
