Files
llm-intelligence/scripts/backup.sh
2026-05-13 14:42:45 +08:00

28 lines
816 B
Bash
Executable File

#!/bin/bash
# backup.sh - 数据库备份 + OSS上传
set -euo pipefail
DB_URL="${DATABASE_URL:-host=/var/run/postgresql dbname=llm_intelligence user=long sslmode=disable}"
BACKUP_DIR="/tmp/llm_hub_backups"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/llm_intelligence_${DATE}.sql"
mkdir -p "$BACKUP_DIR"
# 1. pg_dump 备份
echo "[$(date)] 开始备份..."
pg_dump "$DB_URL" > "$BACKUP_FILE"
gzip "$BACKUP_FILE"
# 2. 保留最近7天
echo "[$(date)] 清理过期备份..."
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +7 -delete
# 3. 如果有 OSS 工具则上传
if command -v ossutil &> /dev/null; then
echo "[$(date)] 上传至 OSS..."
ossutil cp "${BACKUP_FILE}.gz" "oss://your-bucket/llm-hub-backups/" || true
fi
echo "[$(date)] 备份完成: ${BACKUP_FILE}.gz"
ls -lh "${BACKUP_FILE}.gz"