PDA

Показать полную графическую версию : Не удается сформировать бекап PostgreSQL из bat файла


Xlsss
16-11-2022, 15:58
Доброго времени суток.
Прошу помощи у знатаков, не формируется бекап постгристной базы. Windows server 2019, постгря 14.4, запуск бат файла осуществляется от имени администратора, полные права на файл, каталог сохранения, логин\пароль постгри корректный,база существующая, но при запуске возникает ошибка о не корректном пути и файл не создается. (При этом на другом сервере все работает коррекно, база создается) Прошу помощи в чем именно ошибка или альтернативу текущее скрипту.
Если можно, то лучше развернутый ответ и пример скрипта т.к. новичок в создании bat файлов.

Прилагаю скриншот текущего скрипта или вот скрипт текстом:

REM ПРИМЕР СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL
CLS
ECHO OFF
CHCP 1251
REM Установка переменных окружения
SET PGBIN=с:\Program Files\PostgreSQL\14.4-1.1C\bin\
SET PGDATABASE=CrashAnalysis66
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=postgres
REM Смена диска и переход в папку из которой запущен bat-файл
%~d0
CD %~dp0
REM Формирование имени файла резервной копии и файла-отчета
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET DUMPFILE=%PGDATABASE% %DATETIME%.backup
SET LOGFILE=%PGDATABASE% %DATETIME%.log
SET DUMPPATH="Backup\%DUMPFILE%"
SET LOGPATH="Backup\%LOGFILE%"
REM Создание резервной копии
IF NOT EXIST Backup MD Backup
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%
REM Анализ кода завершения
IF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull
REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале
:Error
DEL %DUMPPATH%
MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log."
ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> backup.log
GOTO End
REM В случае удачного резервного копирования просто делается запись в журнал
:Successfull
ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup.log
GOTO End
:End

Serguei Kouzmine
16-11-2022, 17:16
если вы хотите помощи вам надо отладить скрипт чтобы узнать где он останавливается
вставьте
echo 1
echo 2
и т д. через строкчу и узнаете

если нужно готовыми решениями без усилий с вашей стороны - амв на фрлнсиа

NickM
16-11-2022, 18:41
но при запуске возникает ошибка о не корректном пути и файл не создается. »
Пробелы в путях к файлам - зло.

Xlsss
17-11-2022, 12:56
Пробелы в путях » пробелов нет, проверял

White-Lion
24-11-2022, 13:17
SET PGBIN=с:\Program Files\PostgreSQL\14.4-1.1C\bin\ »
в PGBIN у тебя в конце "\" а потом ты еще раз указываешь "\" при вызове
CALL "%PGBIN%\pg_dump.exe" »
вот и получается двойной ......\bin\\pg_dump.exe




© OSzone.net 2001-2012