mirror of
https://github.com/joelhooks/joelclaw.git
synced 2026-09-19 01:24:04 +08:00
27 lines
786 B
Bash
Executable File
27 lines
786 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck source=common.sh
|
|
source "${SCRIPT_DIR}/common.sh"
|
|
load_env_if_present
|
|
|
|
STAMP="$(date -u +%Y%m%dT%H%M%SZ)"
|
|
BACKUP_PATH="${CENTRAL_BACKUP_DIR}/central-shadow-${STAMP}.tar.gz"
|
|
|
|
mkdir -p "$CENTRAL_BACKUP_DIR"
|
|
|
|
log "creating filesystem snapshot archive: ${BACKUP_PATH}"
|
|
log "note: for production cutover, add service-native Redis/Typesense export steps before relying on this backup"
|
|
log "note: Restate uses Docker volume ${CENTRAL_RESTATE_VOLUME}; this filesystem snapshot excludes that volume"
|
|
|
|
tar -czf "$BACKUP_PATH" \
|
|
-C "$SERVICE_ROOT" \
|
|
services/redis \
|
|
services/typesense \
|
|
services/inngest \
|
|
services/minio
|
|
|
|
chmod 600 "$BACKUP_PATH"
|
|
log "backup=${BACKUP_PATH}"
|