@echo off SETLOCAL EnableDelayedExpansion :: Set paths SET "MYSQLDUMP_PATH=C:\laragon\bin\mysql\mysql-8.4.3-winx64\bin\mysqldump.exe" SET "DB_DIR=%~dp0database" :: Check if mysqldump exists IF NOT EXIST "%MYSQLDUMP_PATH%" ( :: Try to search in PATH where mysqldump >nul 2>nul IF !ERRORLEVEL! EQU 0 ( SET "MYSQLDUMP_PATH=mysqldump" ) ELSE ( echo [ERROR] mysqldump.exe tidak ditemukan di %MYSQLDUMP_PATH% atau PATH sistem. echo Silakan sesuaikan MYSQLDUMP_PATH di dalam berkas script ini. pause exit /b 1 ) ) :: Create database directory if not exists IF NOT EXIST "%DB_DIR%" ( mkdir "%DB_DIR%" ) echo. echo ============================================== echo Mengekspor Database ke Folder /database echo ============================================== echo [*] Mengekspor database peta_spbu... "%MYSQLDUMP_PATH%" --user=root --result-file="%DB_DIR%\peta_spbu.sql" peta_spbu IF !ERRORLEVEL! EQU 0 ( echo [OK] peta_spbu.sql berhasil diekspor. ) ELSE ( echo [GAGAL] Gagal mengekspor peta_spbu. ) echo [*] Mengekspor database webgis_baru... "%MYSQLDUMP_PATH%" --user=root --result-file="%DB_DIR%\webgis_baru.sql" webgis_baru IF !ERRORLEVEL! EQU 0 ( echo [OK] webgis_baru.sql berhasil diekspor. ) ELSE ( echo [GAGAL] Gagal mengekspor webgis_baru. ) echo. echo ============================================== echo Push Perubahan ke Gitea echo ============================================== :: Check if git is available where git >nul 2>nul IF !ERRORLEVEL! NEQ 0 ( echo [WARNING] Git tidak ditemukan di PATH. Tidak dapat melakukan push otomatis. pause exit /b 0 ) :: Add files to git echo [*] Menambahkan file dump ke git staging... git add "%DB_DIR%\peta_spbu.sql" "%DB_DIR%\webgis_baru.sql" :: Get current timestamp for commit message for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I set "timestamp=%datetime:~0,4%-%datetime:~4,2%-%datetime:~6,2% %datetime:~8,2%:%datetime:~10,2%:%datetime:~12,2%" echo [*] Melakukan git commit... git commit -m "Backup database: %timestamp%" echo [*] Melakukan git push ke Gitea... git push origin main echo. echo ============================================== echo Proses backup selesai! echo ============================================== pause