Как сделать резервную копию в формате dt в клиент-сервере

Материал из largespace
Перейти к навигации Перейти к поиску

Для создания резервной копии базы PostgreSQL с архивированием в формат *.dt для последующего развертывания в другом месте можно использовать утилиту ibcmd, которая входит в состав платформы 1С.

Для создания копии используется следующий скрипт, запускаемый от имени root

/opt/1cv8/x86_64/8.3.22.1923/ibcmd infobase dump --db-server=localhost --dbms=PostgreSQL --db-user=postgres --db-pwd=postgres --db-name=unf --user=LS_admin --password=1374653 /path/to/home/directory/unf.dt


Вместо указанных параметров логина, пароля от СУБД, имени базы, логина и пароля от базы 1С, а также путь к сохранению нужно указать свои.

Пример скрипта для linux и PostgreSQL с задаваемыми параметрами:

DB_USER=postgres
DB_PASS=postgres
USER=login
PASS=password
PATH_TO_DT=/home/adminuser
PROG_VERSION=8.3.22.1923

DB_NAME=$1
/opt/1cv8/x86_64/${PROG_VERSION}/ibcmd infobase dump --db-server=localhost --dbms=PostgreSQL --db-user=$DB_USER --db-pwd=$DB_PASS --db-name=$DB_NAME --user=$USER --password=$PASS $PATH_TO_DT/$DB_NAME.dt

Пример скрипта для Windows и MS SQL с явно указанными наименования базы на сервере и наименования копии (backup.bat)

Set Path=C:\Users\user\Documents\backups
Set CurDate=%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%
Set DBName=novagroup_smallbusiness
Set DBLogin=sa
Set DBPass=sa
Set UserLogin=login
Set UserPass=password
Set DTName=tm_unf_%CurDate%.dt

Set PathToIbCmd="C:\Program Files\1cv8\8.3.22.1750\bin"

%PathToIbCmd%\ibcmd infobase dump --db-server=localhost --dbms=mssqlserver --db-user=%DBLogin% --db-pwd=%DBPass% --db-name=%DBName% --user=%UserLogin% --password=%UserPass% %Path%\%DTName%