diff --git a/backup-db.sh b/backup-db.sh index f65d3d1..1e01792 100755 --- a/backup-db.sh +++ b/backup-db.sh @@ -11,11 +11,19 @@ log() { echo "[$(date '+%H:%M:%S')] $1"; } log "开始备份云端数据库..." +# 备份前执行 WAL checkpoint,确保数据全部合并到 .db 主文件 +log "执行 WAL checkpoint..." +ssh txjp "docker exec assets-ai sqlite3 /app/data/assets.db 'PRAGMA wal_checkpoint(TRUNCATE)' && \ + docker exec issue-ai sqlite3 /app/data/issue.db 'PRAGMA wal_checkpoint(TRUNCATE)'" + # 云端打包 ssh txjp "mkdir -p /tmp/db-backup && \ cp /root/docker/assets-ai/data/assets.db /tmp/db-backup/assets-${TIMESTAMP}.db && \ cp /root/docker/issue-ai/data/issue.db /tmp/db-backup/issue-${TIMESTAMP}.db" +# 确保本地备份目录存在 +mkdir -p "${LOCAL_DIR}" + # 复制到本地 log "复制到本地..." scp "txjp:/tmp/db-backup/assets-${TIMESTAMP}.db" "${LOCAL_DIR}/"