Files
sam-hotfix/db_sync_chandj.bat
김보곤 d86b5851d0 chore: 프로젝트 설정 및 문서 파일 추가
- .agent/, .claude/, .vscode/ 설정 파일
- design/ 디자인 리소스
- reports/, research/ 분석 문서
- testcase/ 테스트 케이스 문서
- db_sync_chandj.bat, sam.code-workspace

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:51:43 +09:00

88 lines
2.4 KiB
Batchfile

@echo off
chcp 65001 > nul
setlocal
echo =====================================
echo DB SYNC START (chandj)
echo =====================================
:: ===== 설정 =====
set REMOTE_USER=pro
set REMOTE_HOST=114.203.209.83
set REMOTE_DB_NAME=chandj
set REMOTE_DB_USER=pro
set REMOTE_DB_PASS=sampass
set LOCAL_DB_NAME=chandj
set LOCAL_DB_USER=root
set LOCAL_DB_PASS=root
set DUMP_FILE=chandj_dump.sql
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set TIMESTAMP=%TIMESTAMP: =0%
set BACKUP_FILE=chandj_backup_%TIMESTAMP%.sql
:: =================
:: 기존 덤프 파일 백업 (있는 경우)
if exist %DUMP_FILE% (
echo [0/3] 기존 덤프 파일 백업 중...
copy %DUMP_FILE% %BACKUP_FILE% > nul
if errorlevel 1 (
echo ⚠️ 백업 실패 (계속 진행)
) else (
echo ✅ 백업 완료: %BACKUP_FILE%
)
)
echo [1/3] 원격 DB 덤프 생성 중...
echo 원격 서버(%REMOTE_USER%@%REMOTE_HOST%) SSH 비밀번호를 입력하세요...
ssh %REMOTE_USER%@%REMOTE_HOST% "mysqldump --single-transaction --routines --triggers -u %REMOTE_DB_USER% -p%REMOTE_DB_PASS% %REMOTE_DB_NAME%" > %DUMP_FILE%
if errorlevel 1 (
echo ❌ 원격 덤프 실패
if exist %BACKUP_FILE% (
echo 원본 파일 복구: %BACKUP_FILE% -^> %DUMP_FILE%
copy %BACKUP_FILE% %DUMP_FILE% > nul
)
pause
exit /b 1
)
:: 덤프 파일 크기 확인
for %%A in (%DUMP_FILE%) do set FILE_SIZE=%%~zA
if %FILE_SIZE% LSS 1000 (
echo ❌ 덤프 파일이 너무 작습니다 (%FILE_SIZE% bytes). 덤프가 실패했을 수 있습니다.
pause
exit /b 1
)
echo ✅ 덤프 완료: %DUMP_FILE% (%FILE_SIZE% bytes)
echo [2/3] 로컬 DB 복원 중...
echo 로컬 MySQL 비밀번호를 입력하세요...
mysql -u %LOCAL_DB_USER% -p%LOCAL_DB_PASS% %LOCAL_DB_NAME% < %DUMP_FILE%
if errorlevel 1 (
echo ❌ 로컬 DB 복원 실패
if exist %BACKUP_FILE% (
echo 원본 파일 복구: %BACKUP_FILE% -^> %DUMP_FILE%
copy %BACKUP_FILE% %DUMP_FILE% > nul
)
pause
exit /b 1
)
echo [3/3] 정리 중...
:: 백업 파일 삭제 (선택사항 - 주석 해제하면 삭제)
:: del %BACKUP_FILE% > nul 2>&1
echo =====================================
echo ✅ DB SYNC COMPLETE
echo =====================================
echo 덤프 파일: %DUMP_FILE%
if exist %BACKUP_FILE% (
echo 백업 파일: %BACKUP_FILE%
)
pause
endlocal