forked from niuniu/llm-intelligence
chore: prepare repository for publishing
This commit is contained in:
28
scripts/backup.sh
Executable file
28
scripts/backup.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user