Как удалить запрос пароля из файла .Bat? - PullRequest
0 голосов
/ 13 июня 2019

Я создаю ежедневный планировщик резервного копирования для своей базы данных PostgreSQL, для этого я установил Pg-agent, а также создал планировщик заданий. Я создал один файл .bat и написал в нем скрипт, который работает нормально. Что я хочу, чтобы при запуске файла .bat bat из командной строки в это время запрашивался пароль, поэтому я хочу удалить его и запустить файл .bat без запроса пароля.

@echo Backup database  %PG_PATH%%PG_FILENAME%
@echo off
SET PG_BIN="C:\Program Files\PostgreSQL\9.5\bin\pg_dump.exe"
SET PG_HOST=localhost
SET PG_PORT=5432
SET PG_DATABASE=postgres
SET PG_USER=postgres
SET PG_PASSWORD=postgres
SET PG_PATH=C:\OEM
SET FECHAYHORA=%date:/=%-%time:-0,8%
SET FECHAYHORA=%FECHAYHORA::=-%
SET FECHAYHORA=%FECHAYHORA: =0%
SET PG_FILENAME=zerodefect_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.sql
%PG_BIN% -h %PG_HOST% -p %PG_PORT% -U %PG_USER% %PG_DATABASE% > %PG_FILENAME%

@echo Backup Taken Complete %PG_PATH%%PG_FILENAME%

Выход:
output

1 Ответ

0 голосов
/ 13 июня 2019

Переменная должна иметь имя PGPASSWORD (без подчеркивания), как указано в doc

В примечании вы можете добавить setlocal в начале скрипта и endlocal в конце, чтобы переменная, содержащая пароль, была удалена из памяти в конце.

...