25 lines
604 B
Bash
Executable File
25 lines
604 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
BACKUP_DIR="${BACKUP_DIR:-./backups}"
|
|
MYSQL_HOST="${MYSQL_HOST:-127.0.0.1}"
|
|
MYSQL_PORT="${MYSQL_PORT:-3307}"
|
|
MYSQL_USER="${MYSQL_USER:-ai_kb}"
|
|
MYSQL_PASSWORD="${MYSQL_PASSWORD:-ai_kb}"
|
|
MYSQL_DATABASE="${MYSQL_DATABASE:-ai_knowledge_base_v2}"
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
OUTPUT_FILE="$BACKUP_DIR/${MYSQL_DATABASE}_$(date +%Y%m%d_%H%M%S).sql"
|
|
|
|
mysqldump \
|
|
-h "$MYSQL_HOST" \
|
|
-P "$MYSQL_PORT" \
|
|
-u "$MYSQL_USER" \
|
|
-p"$MYSQL_PASSWORD" \
|
|
--single-transaction \
|
|
--routines \
|
|
--triggers \
|
|
"$MYSQL_DATABASE" > "$OUTPUT_FILE"
|
|
|
|
echo "备份完成:$OUTPUT_FILE"
|