Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Не удается сформировать бекап PostgreSQL из bat файла (http://forum.oszone.net/showthread.php?t=352398)

Xlsss 16-11-2022 15:58 2996626

Не удается сформировать бекап PostgreSQL из bat файла
 
Вложений: 1
Доброго времени суток.
Прошу помощи у знатаков, не формируется бекап постгристной базы. 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 2996628

если вы хотите помощи вам надо отладить скрипт чтобы узнать где он останавливается
вставьте
echo 1
echo 2
и т д. через строкчу и узнаете

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

NickM 16-11-2022 18:41 2996632

Цитата:

Цитата Xlsss
но при запуске возникает ошибка о не корректном пути и файл не создается. »

Пробелы в путях к файлам - зло.

Xlsss 17-11-2022 12:56 2996682

Цитата:

Цитата NickM
Пробелы в путях »

пробелов нет, проверял

White-Lion 24-11-2022 13:17 2997229

Цитата:

Цитата Xlsss
SET PGBIN=с:\Program Files\PostgreSQL\14.4-1.1C\bin\ »

в PGBIN у тебя в конце "\" а потом ты еще раз указываешь "\" при вызове
Цитата:

Цитата Xlsss
CALL "%PGBIN%\pg_dump.exe" »

вот и получается двойной ......\bin\\pg_dump.exe


Время: 23:52.

Время: 23:52.
© OSzone.net 2001-