1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- @echo off
- setlocal enabledelayedexpansion
- :: Set database configuration
- set DB_NAME=soilgd
- set DB_USER=postgres
- set BACKUP_DIR=backups
- :: Generate timestamp (format: YYYYMMDD_HHMMSS)
- :: Use simple PowerShell command to get timestamp
- for /f %%i in ('powershell -command "Get-Date -Format 'yyyyMMdd_HHmmss'"') do set TIMESTAMP=%%i
- echo =====================================
- echo PostgreSQL Database Backup Tool
- echo =====================================
- echo.
- :: Create backup directory if not exists
- if not exist "%BACKUP_DIR%" (
- echo Creating backup directory: %BACKUP_DIR%
- mkdir "%BACKUP_DIR%"
- )
- :: Set backup filename
- set BACKUP_FILE=%BACKUP_DIR%\%DB_NAME%_backup_%TIMESTAMP%.dump
- echo Starting database backup: %DB_NAME%
- echo Backup file: %BACKUP_FILE%
- echo.
- :: Execute backup command
- echo Executing backup...
- pg_dump -U %DB_USER% -Fc %DB_NAME% > "%BACKUP_FILE%"
- :: Check if backup was successful
- if %ERRORLEVEL% EQU 0 (
- echo.
- echo Backup completed successfully!
- echo Backup file saved to: %BACKUP_FILE%
-
- :: Display file size
- for %%A in ("%BACKUP_FILE%") do (
- echo Backup file size: %%~zA bytes
- )
- ) else (
- echo.
- echo Backup failed! Please check:
- echo 1. Is PostgreSQL service running?
- echo 2. Does database %DB_NAME% exist?
- echo 3. Does user %DB_USER% have permissions?
- echo 4. Is pg_dump command in system PATH?
- )
- echo.
- echo Backup operation completed.
- pause
|