80 lines
2.3 KiB
Batchfile
80 lines
2.3 KiB
Batchfile
@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
|