Бэкап базы 1с в бд postgreSQL для Windows

Данный способ резервного копирования позволяет снимать резервную копию базы 1с, не завершая сеансы пользователей.

Создаем *.bat файл и копируем в него скрипт:

REM ПРИМЕР СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL
CLS
ECHO OFF
CHCP 1251
REM Установка переменных окружения
SET PGBIN=E:\Program Files\PostgreSQL 1C\11\bin
SET PGDATABASE=base1c
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
REM Смена диска и переход в папку из которой запущен bat-файл
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="\\YouServer\PostgreSQLbkp\%DUMPFILE%"
SET LOGPATH="\\YouServer\PostgreSQLbkp\%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

Само собой, папка с postgreSQL, имя базы,имя сервера и папка для файлов бэкапа\логов у вас могут отличаться.

SET PGBIN=E:\Program Files\PostgreSQL 1C\11\bin

SET PGDATABASE=base1c

SET DUMPPATH=”\\YouServer\PostgreSQLbkp\%DUMPFILE%”
SET LOGPATH=”\\YouServer\PostgreSQLbkp\%LOGFILE%”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *