1C Database copier (cpdb)
Библиотека и приложение для получения информации о базах 1С, копирования баз 1C и развертывания на целевой системе.
Требуются следующие библиотеки и инструменты:
Команды приложения
Типичный сценарий работы:
- Сформировать резервную копию базы
- Передать резервную копию на целевую систему
- Через общую папку / С использованием Yandex-Диск
- Возможно разбиение больших файлов на части (используется 7-zip)
- Восстановить резервную копию в новую или существующую базу
- Подключить базу к хранилищу конфигурации
|
|
|
database |
Группа команд работы с СУБД |
|
|
create |
- Создание базы MS SQL |
|
backup |
- Создание резервной копии базы MS SQL |
|
restore |
- Восстановление базы MS SQL из резервной копии |
|
compress |
- Выполнить компрессию страниц таблиц и индекстов в базе MS SQL |
|
drop |
- Удаление базы MS SQL |
|
script |
- Выполнить произвольный скрипт на сервере MS SQL |
infobase |
Группа команд работы с информационными базами 1С |
|
|
create-srv-ib |
- Создать информационную базу на сервере 1С |
|
create-file-ib |
- Создать файловую информационную базу 1С |
|
dump |
- Выгрузить информационную базу в файл |
|
restore |
- Загрузить информационную базу из файла |
|
clearcache |
- Очистить локальный кэш информационных баз 1С |
|
uconstorage |
- Отключить информационную базу от хранилища конфигураций |
|
constorage |
- Подключить информационную базу к хранилищу конфигураций |
file |
Группа команд работы с файлами |
|
|
copy |
- Копировать/переместить файлы |
|
split |
- Архивировать файл с разбиением на части указанного размера (используется 7-Zip) |
|
merge |
- Разархивировать файл (используется 7-Zip) |
|
mapdrive |
- Подключить сетевой диск |
|
umapdrive |
- Отключить сетевой диск |
yadisk |
Группа команд работы с сервисом Yandex-Диск |
|
|
put |
- Помещение файла на Yandex-Диск |
|
get |
- Получение файла из Yandex-Диска |
nextcloud |
Группа команд работы с сервисом NextCloud |
|
|
put |
- Помещение файла в сервис NextCloud |
|
get |
- Получение файла из сервиса NextCloud |
sftp |
Группа команд работы с SFTP-сервером |
|
|
put |
- Помещение файла на сервер SFTP |
|
get |
- Получение файла с сервера SFTP |
batch |
- Последовательное выполнение команд по сценариям, заданным в файлах (json) |
|
|
|
|
Для подсказки по конкретной команде наберите <команда> –help
database - Группа команд работы с СУБД
Общие параметры для команд группы: |
|
–srvr |
- Адрес сервера MS SQL |
–user |
- Пользователь сервера |
–pwd |
- Пароль пользователя сервера |
create - Создание базы MS SQL
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–db |
- Имя базы для восстановления |
–db-recovery |
- Установить модель восстановления (RECOVERY MODEL), возможные значения “FULL”, “SIMPLE”, “BULK_LOGGED” |
Пример:
cpdb database --srvr MySQLName --user sa --pwd 12345 create --db MyDatabase --db-recovery SIMPLE
backup - Создание резервной копии базы MS SQL
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–db |
- Имя базы для восстановления |
–bak-path |
- Путь к резервной копии |
Пример:
cpdb database --srvr MySQLName --user sa --pwd 12345 backup --db MyDatabase --bak-path "d:\MSSQL\Backup\MyDatabase_copy.bak"
restore - Восстановление базы MS SQL из резервной копии
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–db |
- Имя базы для восстановления |
–bak-path |
- Путь к резервной копии |
–create-db |
- Создать базу в случае отсутствия |
–db-owner |
- Имя владельца базы после восстановления |
–compress-db |
- Включить компрессию страниц таблиц и индексов после восстановления |
–shrink-db |
- Сжать файлы данных после восстановления |
–shrink-log |
- Сжать файлы журнала транзакций после восстановления |
–db-path |
- Путь к каталогу файлов данных базы после восстановления |
–db-logpath |
- Путь к каталогу файлов журнала после восстановления |
–db-recovery |
- Установить модель восстановления (RECOVERY MODEL), возможные значения “FULL”, “SIMPLE”, “BULK_LOGGED” |
–db-changelfn |
- Изменить логические имена файлов (LFN) базы, в соответствии с именем базы |
–delsrc |
- Удалить файл резервной копии после восстановления |
Пример:
cpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 restore --db MyDatabase_copy --bak-path "d:\data\MyBackUpfile.bak" --create-db --shrink-db --db-owner SQLdbo --db-path "d:\MSSQL\data" --db-logpath "e:\MSSQL\logs" --db-recovery SIMPLE --delsrc
compress - Выполнить компрессию страниц таблиц и индекстов в базе MS SQL
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–db |
- Имя базы для восстановления |
–shrink-db |
- Сжать базу после выполнения компрессии |
–shrink-log |
- Сжать файлы журнала транзакций после восстановления |
Пример:
cpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 compress --db MyDatabase_copy --shrink-db
drop - Удаление базы MS SQL
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–db |
- Имя базы для восстановления |
Пример:
cpdb database --srvr MySQLName --user sa --pwd 12345 drop --db MyDatabase
script - Выполнить скрипты из файла(ов)
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–files |
- Файлы SQL, содержащие текст скрипта, могут быть указаны несколько файлов, разделённые “;” |
–vars |
- Строка значений переменных (без пробелов) для скриптов SQL в виде “<Имя>=<Значение>”, разделенные “;” |
Пример:
cpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 script --params "./JSON/cpdb_env.json" --files "./tools/config_error.sql;./tools/print_message.sql" --vars "varBase=MyDB;message=\"Hello world\""
Пример config_error.sql:
use $(varBase)
go
truncate table [dbo].[ConfigSave]
go
UPDATE SchemaStorage SET Status = 100
Пример print_message.sql:
PRINT N'$(message)'
infobase - Группа команд работы с информационной базой 1С
Общие параметры для команд группы: |
|
–v8version |
- маска версии платформы 1С (например: 8.3.8, 8.3.17.1851) |
create-srv-ib - Создать информационную базу на сервере 1С
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-srvr |
- Адрес кластера серверов 1С ([<протокол>://]<адрес>[:<порт>]) |
–ib-ref |
- Имя базы в кластере 1С |
–err-if-exist |
- Сообщить об ошибке если ИБ в кластере 1С существует |
–dbms |
- Тип сервера СУБД (MSSQLServer <по умолчанию>; PostgreSQL; IBMDB2; OracleDatabase) |
–db-srvr |
- Адрес/имя сервера СУБД |
–db-user |
- Пользователь сервера СУБД" |
–db-pwd |
- Пароль пользователя сервера СУБД" |
–db-name |
- Имя базы на сервере СУБД (если не указано, используется имя базы 1С)" |
–sql-offs |
- Смещение дат на сервере MS SQL (0; 2000 <по умолчанию>) |
–create-db |
- Создавать базу данных в случае отсутствия |
–allow-sch-job |
- Разрешить регламентные задания |
–allow-lic-dstr |
- Разрешить выдачу лицензий сервером 1С |
–cadm-user |
- Имя администратора кластера |
–cadm-pwd |
- Пароль администратора кластера |
–name-in-list |
- Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |
–tmplt-path |
- Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |
Пример:
cpdb infobase --v8version 8.3.8 create-srv-ib --ib-srvr My1CServer --ib-ref TST_DB_MyDomain --db-srvr MySQLServer --db-user _1CSrvUsr1 --db-pwd p@ssw0rd --db-name TST_DB_MyDomain --createdb --nameinlist "My test base" --errifexist
create-file-ib - Создать файловую информационную базу 1С
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Путь к каталогу базы 1С |
–err-if-exist |
- Сообщить об ошибке если ИБ в кластере 1С существует |
–name-in-list |
- Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |
–tmplt-path |
- Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |
Пример:
cpdb infobase --v8version 8.3.8 create-file-ib --ib-path "D:\1cbases\My1CBase" --name-in-list "My test base" --err-if-exist
dump - Выгрузить информационную базу в файл
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Строка подключения к ИБ |
–ib-user |
- Пользователь ИБ |
–ib-pwd |
- Пароль пользователя ИБ |
–dt-path |
- Путь к файлу для выгрузки ИБ |
–uccode |
- Ключ разрешения запуска ИБ |
Пример:
cpdb infobase --v8version 8.3.8 dump --ib-path "/FD:/data/MyDatabase" --dt-path "d:\data\1Cv8.dt" --ib-user Администратор --ib-pwd 123456 --uccode 1234
restore - Загрузить информационную базу из файла
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Строка подключения к ИБ |
–ib-user |
- Пользователь ИБ |
–ib-pwd |
- Пароль пользователя ИБ |
–dt-path |
- Путь к файлу для загрузки в ИБ |
–jobs-count |
- Количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19) |
–uccode |
- Ключ разрешения запуска ИБ |
–delsrc |
- Удалить файл после загрузки |
Пример:
cpdb infobase --v8version 8.3.8 restore --ib-path "/FD:/data/MyDatabase" --dt-path "d:\data\1Cv8.dt" --ib-user Администратор --ib-pwd 123456 --uccode 1234 -delsrc
clearcache - Очистить локальный кэш информационных баз 1С
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Строка подключения к ИБ (если не указан то удаляются локальные кэши всех информационных баз) |
Пример:
cpdb infobase clearcache --ib-path "/FD:/data/MyDatabase"
uconstorage - Отключить информационную базу от хранилища конфигурации
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Строка подключения к ИБ"); |
–ib-user |
- Пользователь ИБ"); |
–ib-pwd |
- Пароль пользователя ИБ"); |
–extension |
- Имя отключаемого расширения конфигурации |
–uccode |
- Ключ разрешения запуска ИБ"); |
Пример:
cpdb infobase --v8version 8.3.8 uconstorage --ib-path "/FD:/data/MyDatabase" --ib-user Администратор --ib-pwd 123456 --uccode 1234
constorage - Подключить информационую базу к хранилищу конфигурации
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–ib-path |
- Строка подключения к ИБ |
–ib-user |
- Пользователь ИБ |
–ib-pwd |
- Пароль пользователя ИБ |
–extension |
- Имя подключаемого расширения конфигурации |
–storage-path |
- Адрес хранилища конфигурации |
–storage-user |
- Пользователь хранилища конфигурации |
–storage-pwd |
- Пароль пользователя хранилища конфигурации |
–update-ib |
- Выполнить обновление ИБ (применить полученную из хранилища конфигурацию к ИБ) |
–uccode |
- Ключ разрешения запуска ИБ |
Пример:
cpdb infobase --v8version 8.3. constorage --ib-path "/FD:/data/MyDatabase" --ib-user Администратор --ib-pwd 123456 --storage-path "tcp://MyServer/MyRepository" --storage-user MyDatabase_usr1 --storage-pwd 123456 --uccode 12348
file - Группа команд работы с файлами
copy - Скопировать/переместить файлы
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–src |
- Файл источник |
–dst |
- Файл/каталог приемник (если оканчивается на "", то каталог) |
–move |
- Выполнить перемещение файлов (удалить источник после копирования) |
–lastonly |
- Копирование файлов, измененных не ранее текущей даты |
Простой пример. Копирование файла в каталог:
cpdb file copy --src "d:\MSSQL\Backup\MyDatabase_copy.bak" --dst "N:\NewDestination\" --replace --move
Сложный пример. В каталоге-источнике имеется несколько резервных копий с датой в имени файла. Необходимо скопировать только свежий файл (созданный сегодня). Новое имя файла не должно содержать дату:
cpdb file copy --src "d:\MSSQL\Backup\MyDatabase_copy*.bak" --dst "N:\NewDestination\MyDatabase_copy.bak*" --replace --move --lastonly
split - Архивировать файл с разбиением на части указанного размера
Используется 7-zip
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–src |
- Путь к исходному локальному файлу для разбиения |
–arch |
- Имя файла архива (не обязательный, по умолчанию <имя исходного файла>.7z) |
–list |
- Имя файла, списка томов архива (не обязательный, по умолчанию <имя исходного файла>.split) |
–vol-size |
- Размер части {<g>, <m>, <b>} (по умолчанию 50m) |
–compress-level |
- Уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать) |
–delsrc |
- Удалить исходный файл после выполнения операции |
Пример:
cpdb file split "d:\MSSQL\Backup\MyDatabase_copy.bak" --list "d:\MSSQL\Backup\MyDatabase_copy.split" --vol-size 40m --delsrc
merge - Разархивировать файл
Используется 7-zip
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–arch |
- Имя первого файла архива |
–list |
- Имя файла, списка файлов архива (параметр -arch игнорируется) |
–delsrc |
- Удалить исходные файлы после выполнения операции |
Пример:
cpdb file merge --file "d:\MSSQL\Backup\MyDatabase_copy.7z.001" --delsrc
cpdb file merge --list "d:\MSSQL\Backup\MyDatabase_copy.split" --delsrc
mapdrive - Подключить сетевой диск
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–drive |
- Имя устройства (буква диска) |
–res |
- Путь к подключаемому ресурсу |
–user |
- Пользователь для подключения |
–pwd |
- Пароль для подключения |
Пример:
cpdb file mapdrive --drive N --res "\\MyServer\MyFolder" --user superuser --pwd P@$$w0rd
umapdrive - Отключить сетевой диск
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–drive |
- Имя устройства (буква диска) |
Пример:
cpdb file umapdrive --drive N
yadisk - Группа команд работы с сервисом Yandex-Диск
Общие параметры для команд группы: |
|
–token |
- Token авторизации |
put - Помещение файла на Yandex-Диск
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–file |
- Путь к локальному файлу для помещения на Yandex-Диск |
–list |
- Путь к локальному файлу со списком файлов, которые будут помещены на Yandex-Диск (параметр –file игнорируется) |
–path |
- Путь к каталогу на Yandex-Диск, куда помещать загружаемые файлы |
–replace |
- Перезаписать файл на Yandex-диске при загрузке |
–delsrc |
- Удалить исходные файлы после отправки |
Пример:
// Помещает файл "MyDatabase_copy.bak" на Yandex-диск
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --file "d:\MSSQL\Backup\MyDatabase_copy.bak" --path "/transfer" --delsrc
// Помещает файлы, указанные в списке "MyDatabase_copy.split" на Yandex-диск
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла из Yandex-Диска
Параметры:
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–path |
- Путь к локальному каталогу для сохранения загруженных файлов |
–file |
- Путь к файлу на Yandex-Диск для загрузки |
–list |
- Путь к файлу на Yandex-Диск со списком файлов, которые будут загружены (параметр –file игнорируется) |
–delsrc |
- Удалить файлы из Yandex-Диск после получения |
Пример:
// Получает файл "MyDatabase_copy.bak" из Yandex-диска
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" из Yandex-диска
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
Для получения токена авторизации Яндекс-диска:
- Зарегистрировать приложение: https://oauth.yandex.ru/client/new
- Название приложения, например “OScript.YaDisk”
- Платформы “Веб-сервисы”
- Callback URI #1: https://oauth.yandex.ru/verification_code
- Дать нужные права для приложения
- Сервис Яндекс.Диск REST API
- Запись в любом месте на Диске
- Чтение всего Диска
- Доступ к информации о Диске
- Нажать “Создать приложение” внизу формы: после этого будет показан ID пароль, прочие параметры созданного приложения
- Получить токен для приложения: перейти по ссылке https://oauth.yandex.ru/authorize?response_type=token&client_id=<ВАШ ID (ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)>
- На вопрос “Приложение OScript.YaDisk запрашивает доступ к вашим данным на Яндексе” ответить “Разрешить”: после этого на экране появится сформированный токен
nextcloud - Группа команд работы с сервисом NextCloud
Общие параметры для команд группы: |
|
–srvr |
- Адрес сервиса NextCloud |
–user |
- Имя пользователя сервиса NextCloud |
–pwd |
- Пароль пользователя сервиса NextCloud |
put - Помещение файла в сервис NextCloud
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–file |
- Путь к локальному файлу для помещения в сервис NextCloud |
–list |
- Путь к локальному файлу со списком файлов, которые будут помещены в сервис NextCloud (параметр –file игнорируется) |
–path |
- Путь к каталогу в сервисе NextCloud, куда помещать загружаемые файлы |
–replace |
- Перезаписать файл в сервисе NextCloud при загрузке |
–delsrc |
- Удалить исходные файлы после отправки |
Пример:
// Помещает файл "MyDatabase_copy.bak" в сервис NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" put --file "d:\MSSQL\Backup\MyDatabase_copy.bak" --path "/transfer" --delsrc
// Помещает файлы, указанные в списке "MyDatabase_copy.split" в сервис NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла из сервиса NextCloud
Параметры:
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–path |
- Путь к локальному каталогу для сохранения загруженных файлов |
–file |
- Путь к файлу в сервисе NextCloud для загрузки |
–list |
- Путь к файлу в сервисе NextCloud со списком файлов, которые будут загружены (параметр –file игнорируется) |
–delsrc |
- Удалить файлы из сервиса NextCloud после получения |
Пример:
// Получает файл "MyDatabase_copy.bak" из сервиса NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" из сервиса NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
sftp - Группа команд работы с SFTP-сервером
Общие параметры для команд группы: |
|
–srvr |
- Адрес сервера SFTP в виде <адрес>:<порт> |
–port |
- Порт сервера SFTP |
–user |
- Имя пользователя сервера SFTP |
–pwd |
- Пароль пользователя сервера SFTP, если указан параметр –key-file, то используется как пароль для доступа к закрытому ключу |
–key-file |
- Путь к файлу закрытого ключа, если указано, то параметр –pwd интерпретируется как пароль к закрытому ключу |
put - Помещение файла на сервер SFTP
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–file |
- Путь к локальному файлу для помещения на сервер SFTP |
–list |
- Путь к локальному файлу со списком файлов, которые будут помещены на сервер SFTP (параметр –file игнорируется) |
–path |
- Путь к каталогу на сервере SFTP, куда помещать загружаемые файлы |
–replace |
- Перезаписать файл на сервере SFTP при загрузке |
–delsrc |
- Удалить исходные файлы после отправки |
Пример:
// Помещает файл "MyDatabase_copy.bak" на сервере SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "admin" --pwd "P@$$w0rd" put --file "d:\MSSQL\Backup\MyDatabase_copy.bak" --path "/transfer" --delsrc
// Помещает файлы, указанные в списке "MyDatabase_copy.split" на сервере SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "admin" --pwd "P@$$w0rd" put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла с сервера SFTP
Параметры:
Параметры: |
|
–params |
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные “;” (параметры командной строки имеют более высокий приоритет) |
–path |
- Путь к локальному каталогу для сохранения загруженных файлов |
–file |
- Путь к файлу на сервере SFTP для загрузки |
–list |
- Путь к файлу на сервере SFTP со списком файлов, которые будут загружены (параметр –file игнорируется) |
–delsrc |
- Удалить файлы с сервера SFTP после получения |
Пример:
// Получает файл "MyDatabase_copy.bak" с сервера SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "user" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" с сервера SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "user" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
batch - Выполнить сценарий
Последовательно выполняет команды указнные в файле JSON
Параметры: |
|
<Сценарии> |
- Файлы JSON содержащие команды и значения параметров, могут быть указаны несколько файлов разделенные ““;”” (обработка файлов выполняется в порядке следования) |
Пример:
cpdb batch "./rest_TST_DB_MyDomain.json"
Пример сценария:
{
"params": {},
"stages": {
"Восстановление": {
"description": "Восстановление из резервной копии",
"command": "database restore",
"params": {
"srvr": "MySQLServer",
"user": "_1CSrvUsr1",
"pwd": "p@ssw0rd",
"bak-path": "d:\\tmp\\PRD_DB_MyDomain.bak",
"db": "TST_DB_MyDomain",
"db-owner": "_1CSrvUsr1",
"db-path": "D:\\sqldata",
"db-logpath": "D:\\sqldata",
"db-recovery": "SIMPLE",
"db-changelfn": true
}
},
"Отключение": {
"description": "Отключение от хранилища",
"command": "infobase uconstorage",
"params": {
"ib-path": "/SSport1\\TST_DB_MyDomain",
"ib-user": "\"1C User\"",
"ib-pwd": "p@ssw0rd"
}
},
"Сжатие": {
"description": "Сжатие базы данных",
"command": "database compress",
"params": {
"srvr": "Sport1",
"user": "_1CSrvUsr1",
"pwd": "p@ssw0rd",
"db": "TST_DB_MyDomain",
"shrink-db": true
}
}
}
}
Использование c Jenkins
В jenkinsfile описан конвейер, выполняющий следующий сценарий:
- Создание резервной копии указанной базы на системе-источнике
- Разбиение резервной копии на части (используется 7-Zip)
- Копирование частей файла на Yandex-Диск (в указанный каталог)
- Получение файла резервной копии из Yandex-Диск на системе-приемнике
- Восстановление указанной базы из резервной копии
- Подключает базу к хранилищу конфигурации
Переменные окружения конвейера |
|
src_db_cred |
- Идентификатор credentials для доступа к MS SQL в системе, где расположена база-источник |
src_agent_label |
- Метка агента Jenkins в системе, где расположена база-источник |
src_server_name |
- Имя сервера MS SQL в системе-источнике |
src_db_name |
- Имя базы-источника |
src_bak_path |
- Путь к каталогу резервной копии в системе-источнике |
|
|
bak_file_name |
- Имя файла резервной копии |
list_file_name |
- Имя файла списка томов архива |
|
|
storage_token |
- Token для доступа к Yandex-Диску |
storage_path |
- Путь к каталогу на Yandex-Диск для передачи файлов в систему-приемник |
|
|
dst_db_cred |
- Идентификатор credentials для доступа к MS SQL в системе-приемнике |
dst_agent_label |
- Метка агента Jenkins в системе, где расположена база-приемник |
dst_bak_path |
- Путь к каталогу резервной копии в системе-приемнике, в который будут загружены файлы из Yandex-Диска |
dst_server_name |
- Имя сервера MS SQL в системе-приемнике |
dst_db_name |
- Имя базы-приемника |
dst_dbo |
- Имя пользователя-владельца базы в системе-приемнике (dbowner) |
dst_db_path |
- Путь к каталогу размещения файлов данных базы-приемника |
dst_log_path |
- Путь к каталогу размещения файлов журнала базы-приемника |
dst_ib_agent_label |
- Метка агента Jenkins в системе, где выполняется подключение к хранилищу конфигурации |
dst_ib_con_string |
- Строка подключения к информационной базе, подключаемой к хранилищу |
dst_ib_cred |
- Идентификатор credentials для доступа к информационной базе |
dst_ib_storage_adr |
- Адрес хранилища конфигурации |
dst_ib_storage_cred |
- Идентификатор credentials для подключения к хранилищу конфигурации |
Прграммный интерфейс библиотеки (API)
Класс РаботаССУБД
Подключение = Новый ПодключениеMSSQL("MyServer", "user", "P@ssw0rd);
РаботаССУБД = Новый РаботаССУБД(Подключение);
Функция БазаСуществует() - проверяет существование базу на сервере СУБД
Параметры: |
|
|
База |
Строка |
имя базы данных |
Возвращаемое значение: Булево - Истина - база существует
Функция СписокБаз() - получает список баз с сервера СУБД
Параметры: |
|
|
ФильтрБазПоИмени |
Строка |
имя базы данных |
ФильтрПоТаблице |
Строка |
имя таблицы базы данных |
ВключаяСистемные |
Строка |
имя таблицы базы данных |
Возвращаемое значение: Соответствие Из Структура - список баз на сервере СУБД
- Имя - Строка - имя базы данных
- Ид - Число - идентификатор базы данных
- ИдСоздателя - Число - идентификатор пользователя, создавшего базу
- Статус1 - Число - флаги состояния базы данных
- Статус2 - Число - флаги состояния базы данных
- ДатаСоздания - Дата - дата создания базы данных
- РежимСовместимости - Число - версия режима совместимости базы
- ФайлДанных - Строка - путь к файлу данных
Функция ТаблицаСуществует() - проверяет существование таблицы в базе на сервере СУБД
Параметры: |
|
|
База |
Строка |
имя базы данных |
Таблица |
Строка |
имя таблицы базы данных |
Возвращаемое значение: Булево - Истина - таблица существует в базе данных
Процедура СоздатьБазуДанных() - создает базу данных
Параметры: |
|
|
База |
Строка |
имя базы данных |
МодельВосстановления |
Строка |
модель восстановления (FULL, SIMPLE, BULK_LOGGED) |
ПутьККаталогу |
Строка |
путь к каталогу для размещения файлов базы данных если не указан, то файлы размещаются в каталоге по умолчанию SQL Server |
Процедура УдалитьБазуДанных() - удаляет базу данных
Параметры: |
|
|
База |
Строка |
имя базы данных |
Процедура ВыполнитьВосстановление() - выполняет резервное копирование базы
Параметры: |
|
|
База |
Строка |
имя базы данных |
ПутьКРезервнойКопии |
Строка |
путь к файлу резервной копии |
Процедура ВыполнитьВосстановление() - выполняет восстановление базы из резервной копии
| Параметры: ||| |-|-|-| | База | Строка | имя базы данных | | ПутьКРезервнойКопии | Строка | путь к файлу резервной копии | | ПутьКФайлуДанных | Строка | путь к файлу данных базы | | ПутьКФайлуЖурнала | Строка | путь к файлу журнала транзакций базы | | СоздаватьБазу | Булево | Истина - создать базу в случае отсутствия
Функция ПолучитьВладельца() - получает текущего владельца базы
Параметры: |
|
|
База |
Строка |
имя базы данных |
Возвращаемое значение: Строка - имя текущего владельца базы
Процедура ИзменитьВладельца() - устанавливает нового владельца базы
Параметры: |
|
|
База |
Строка |
имя базы данных |
ВладелецБазы |
Строка |
новый владелец базы |
Процедура ПолучитьМодельВосстановления() - получает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)
Параметры: |
|
|
База |
Строка |
имя базы данных |
Возвращаемое значение: Строка - текущая модель восстановления базы
Процедура ИзменитьМодельВосстановления() - устанавливает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)
Параметры: |
|
|
База |
Строка |
имя базы данных |
МодельВосстановления |
Строка |
новая модель восстановления (FULL, SIMPLE, BULK_LOGGED) |
Функция ПолучитьЛогическоеИмяФайла() - получает логическое имя файла в базе
Параметры: |
|
|
База |
Строка |
имя базы данных |
ТипФайла |
Строка |
ROWS - файл базы; LOG - файл журнала транзакций |
Возвращаемое значение: Строка - логическое имя файла в базе данных
Процедура ИзменитьЛогическоеИмяФайла() - устанавливает новое логическое имя файла базы
Параметры: |
|
|
База |
Строка |
имя базы данных |
Имя |
Строка |
логическое имя файла для изменения |
НовоеИмя |
Строка |
новое логическое имя файла |
Процедура УстановитьЛогическиеИменаФайлов() - устанавливает логические имена файлов в формате
<НовоеИмя> - для файла данных
<НовоеИмя>_log - для файла журнала транзакций
Параметры: |
|
|
База |
Строка |
имя базы данных |
НовоеИмя |
Строка |
новое имя файлов, если не указано, то используется имя базы |
Процедура ВключитьКомпрессию() - включает компрессию данных базы на уровне страниц
Параметры: |
|
|
База |
Строка |
имя базы данных |
Процедура СжатьБазу() - выполняет сжатие базы (shrink)
Параметры: |
|
|
База |
Строка |
имя базы данных |
Процедура СжатьФайлЖурналаТранзакций() - выполняет сжатие файла журнала транзакций (shrink)
Параметры: |
|
|
База |
Строка |
имя базы данных |
Функция ВыполнитьСкрипты() - выполняет указанные скрипты
Параметры: |
|
|
СкриптыВыполнения |
Строка |
пути к файлам скриптов, разделенные “;” |
СтрокаПеременных |
Строка |
набор значений переменных в виде “<Имя>=<Значение>”, разделенные “;” |
Возвращаемое значение: Строка - результат выполнения скриптов
Функция ВыполнитьЗапрос() - выполняет запрос к СУБД
Параметры: |
|
|
ТекстЗапроса |
Строка |
текст исполняемого запроса |
Разделитель |
Строка |
символ - разделитель колонок результата |
УбратьПробелы |
Булево |
Истина - будут убраны выравнивающие пробелы из результата |
Возвращаемое значение: Строка - результат выполнения запроса
Модуль РаботаСИБ
Процедура ВыгрузитьИнформационнуюБазуВФайл() - выполняет выгрузку информационной базы в DT-файл
Параметры: |
|
|
ПараметрыИБ |
Структура |
параметры подключения к базе 1С |
* СтрокаПодключения |
Строка |
строка подключения к базе 1С |
* Пользователь |
Строка |
имя пользователя базы 1С |
* Пароль |
Строка |
пароль пользователя базы 1С |
ПутьКФайлу |
Строка |
путь к DT-файлу для выгрузки базы 1С |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
КлючРазрешения |
Строка |
ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |
Процедура ЗагрузитьИнформационнуюБазуИзФайла() - выполняет загрузку информационной базы из DT-файла
Параметры: |
|
|
ПараметрыИБ |
Структура |
параметры подключения к базе 1С |
* СтрокаПодключения |
Строка |
строка подключения к базе 1С |
* Пользователь |
Строка |
имя пользователя базы 1С |
* Пароль |
Строка |
пароль пользователя базы 1С |
ПутьКФайлу |
Строка |
путь к DT-файлу для загрузки в базу 1С |
КоличествоЗаданий |
Число |
количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19)) |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
КлючРазрешения |
Строка |
ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |
Процедура ОчиститьЛокальныйКэшИнформационнойБазы() - выполняет очистку локального кэша информационной базы 1С
Параметры: |
|
|
СтрокаПодключения |
Строка |
строка подключения к базе 1С |
Процедура ОчиститьВсеЛокальныеКэшиИнформационныхБаз() - выполняет очистку всех локальных кэшей информационных баз 1С
Процедура ОтключитьОтХранилища() - выполняет отключение информационной базы от хранилища конфигурации
Параметры: |
|
|
ПараметрыИБ |
Структура |
параметры подключения к базе 1С |
* СтрокаПодключения |
Строка |
строка подключения к базе 1С |
* Пользователь |
Строка |
имя пользователя базы 1С |
* Пароль |
Строка |
пароль пользователя базы 1С |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
ИмяРасширения |
Строка |
имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация) |
КлючРазрешения |
Строка |
ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |
Процедура ПодключитьКХранилищу() - выполняет подключение информационной базы к хранилищу конфигурации
Параметры: |
|
|
ПараметрыИБ |
Структура |
параметры подключения к базе 1С |
* СтрокаПодключения |
Строка |
строка подключения к базе 1С |
* Пользователь |
Строка |
имя пользователя базы 1С |
* Пароль |
Строка |
пароль пользователя базы 1С |
ПараметрыХранилища |
Структура |
параметры подключения к хранилищу конфигурации |
* Адрес |
Строка |
адрес хранилища конфигурации |
* Пользователь |
Строка |
имя пользователя хранилища конфигурации |
* Пароль |
Строка |
пароль пользователя хранилища конфигурации |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
ИмяРасширения |
Строка |
имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация) |
ОбновитьИБ |
Булево |
Истина - после обновления обновить конфигурацию базы данных |
КлючРазрешения |
Строка |
ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |
Процедура СоздатьСервернуюБазу() - создание серверной информационной базы 1С
Параметры: |
|
|
Параметры1С |
Структура |
параметры создания базы 1С |
* Сервер1С |
Строка |
адрес кластера серверов 1С ([<протокол>://]<адрес>[:<порт>]) |
* ИмяИБ |
Строка |
имя информационной базы на сервере 1С |
* РазрешитьВыдачуЛицензий |
Булево |
Истина - разрешить выдачу лицензий сервером 1С (по умолчанию: Истина) |
* РазрешитьРегЗадания |
Булево |
Истина - разрешить запуск рег. заданий (по умолчанию: Ложь) |
ПараметрыСУБД |
Структура |
параметры подключения к СУБД |
* ТипСУБД |
Строка |
тип сервера СУБД (“MSSQLServer” <по умолчанию>, “PostgreSQL”, “IBMDB2”, “OracleDatabase”) |
* СерверСУБД |
Строка |
адрес сервера СУБД |
* ПользовательСУБД |
Строка |
пользователь сервера СУБД |
* ПарольСУБД |
Строка |
пароль пользователя сервера СУБД |
* ИмяБД |
Строка |
имя базы на сервере СУБД (если не указано будет использовано имя ИБ 1С) |
* СмещениеДат |
Число |
смещение дат на сервере MS SQL (0; 2000 <по умолчанию>) |
* СоздаватьБД |
Булево |
Истина - будет создана база на сервере СУБД в случае отсутствия |
АвторизацияВКластере |
Структура |
параметры авторизации в кластере 1С |
* Имя |
Строка |
имя администратора кластера 1С |
* Пароль |
Строка |
пароль администратора кластера 1С |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
ОшибкаЕслиСуществует |
Булево |
Истина - вызвать исключение если ИБ в кластере 1С существует (по умолчанию: Ложь) |
ПутьКШаблону |
Строка |
путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |
ИмяВСпискеБаз |
Строка |
имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |
Процедура СоздатьФайловуюБазу() - создание файловой информационной базы 1С
Параметры: |
|
|
ПутьКБазе |
Строка |
путь к каталогу базы 1С |
ИспользуемаяВерсияПлатформы |
Строка |
маска версии 1С |
ПутьКШаблону |
Строка |
путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |
ИмяВСпискеБаз |
Строка |
имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |
Модуль РаботаСФайлами
Процедура КомандаСистемыКопироватьФайл() - выполняет копирование/перемещение указанных файлов с использованием команд системы (xcopy)
Параметры: |
|
|
Источник |
Строка |
копируемые файлы |
Приемник |
Строка |
назначение копирования, каталог или файл |
Перемещение |
Булево |
выполнить перемещение файлов (удалить источник после копирования) |
ТолькоСегодня |
Булево |
копирование файлов, измененных не ранее текущей даты (параметр /D для xcopy) |
Процедура КомандаСистемыУдалитьФайл() - выполняет удаление указанных файлов с использованием команды системы (del)
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к удаляемому файлу |
ИсключениеПриОшибке |
Булево |
Истина - вызывать исключение при ошибке удаления |
Функция ПрочитатьСписокФайлов() - читает список файлов из файла
Параметры: |
|
|
ПутьКСписку |
Строка |
путь к удаляемому файлу |
ДобавитьПутьКИсходномуФайлу |
Булево |
Истина - при чтении добавлять к результату путь к исходному файлу списка |
ДобавитьИсходныйФайл |
Булево |
Истина - добавить исходный файл в список |
Возвращаемое значение: Массив из Строка - прочитанный список файлов
Процедура КомандаСистемыУдалитьФайл() - выполняет удаление указанных файлов с использованием команды системы (del)
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к удаляемому файлу |
ИсключениеПриОшибке |
Булево |
Истина - вызывать исключение при ошибке удаления |
Процедура ЗапаковатьВАрхив() - выполняет архиваци указанного файла с разбитием на части указанного размера
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к файлу, который будет архивироваться |
ИмяАрхива |
Строка |
имя файла-архива |
ИмяСпискаФайлов |
Строка |
имя файла-списка (содержащего все чати архива) |
РазмерТома |
Строка |
размер части {, , } (по умолчанию 50m) |
СтепеньСжатия |
Число |
уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать) |
УдалитьИсточник |
Булево |
Истина - после архивации исходный файл будет удален |
Процедура РаспаковатьАрхив() - выполняет выполняет распаковку архива
Параметры: |
|
|
ПутьКАрхиву |
Строка |
путь к файлу архива, который будет распаковываться |
ЭтоСписокФайлов |
Булево |
Истина - передан список файлов; Ложь - передан первый том архива |
УдалитьИсточник |
Булево |
Истина - после распаковки исходный файл будет удален |
Процедура ПодключитьДиск() - подключает указанный сетевой диск
Параметры: |
|
|
ИмяУстройства |
Строка |
имя (буква) подключаемого диска |
ИмяРесурса |
Строка |
сетевой путь к подключаемому ресурсу |
Пользователь |
Строка |
пользователь от имени которого выполняется подключение |
ПарольПользователя |
Строка |
пароль пользователя от имени которого выполняется подключение |
Процедура ОтключитьДиск() - отключает указанный сетевой диск
Параметры: |
|
|
ИмяУстройства |
Строка |
имя (буква) отключаемого диска |
Класс РаботаСЯндексДиск
РаботаСЯндексДиск = Новый РаботаСЯндексДиск(<Токен>);
Параметры: |
|
|
_Токен |
Строка |
токен авторизации Yandex-диска |
Функция Соединение() - возвращает соединение с Yandex-диском
Возвращаемое значение: ЯндексДиск - соединение с Yandex-диском
Процедура УстановитьПараметрыСоединения() - создает соединение с Yandex-диском с указанными параметрами
Параметры: |
|
|
_Токен |
Строка |
токен авторизации Yandex-диска |
Процедура СоздатьКаталог() - создает каталог на Yandex-диске
Параметры: |
|
|
ЦелевойПуть |
Строка |
путь на yandex-диске к создаваемому каталогу |
Процедура ОтправитьФайл() - отправляет файл на Yandex-Диск
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к отправляемому файлу |
ЦелевойПуть |
Строка |
путь на yandex-диске, куда будет загружен файл |
Перезаписывать |
Булево |
перезаписать файл на Яндекс-диске при загрузке |
Функция ПолучитьФайл() - получает файл из Yandex-Диска
Параметры: |
|
|
ПутьКФайлу |
Строка |
расположение файла на yandex-диске |
ЦелевойПуть |
Строка |
путь, куда будет загружен файл |
УдалитьИсточник |
Булево |
Истина - удалить файл после загрузки |
Возвращаемое значение: Число - код возврата команды
Функция Существует() - проверка существования файла / каталога на Yandex-Диске
Не реализовано
Параметры: |
|
|
ПутьКФайлу |
Строка |
расположение файла на yandex-диске |
Возвращаемое значение: Булево - Истина - файл / каталог существует
Процедура Удалить() - удаляет файл из Yandex-Диска
Параметры: |
|
|
ПутьКФайлу |
Строка |
расположение файла на yandex-диске |
Класс РаботаСNextCloud
РаботаСNextCloud = Новый РаботаСNextCloud("http://MyNextCloudServer:8080", "user", "P@ssw0rd");
Функция Адрес() - возвращает адрес сервера NextCloud
Возвращаемое значение: Строка - адрес сервера NextCloud
Функция Пользователь() - возвращает имя пользователя сервера NextCloud
Возвращаемое значение: Строка - имя пользователя сервера NextCloud
Функция Соединение() - возвращает соединение с сервером NextCloud
Возвращаемое значение: ПодключениеNextCloud - соединение с сервером NextCloud
Процедура УстановитьПараметрыСоединения() - создает соединение с сервером NextCloud с указанными параметрами
Параметры: |
|
|
_Адрес |
Строка |
адрес сервера NextCloud |
_Пользователь |
Строка |
имя пользователя сервера NextCloud |
Пароль |
Строка |
пароль пользователя сервера NextCloud |
Процедура СоздатьКаталог() - создает каталог в сервисе NextCloud
Параметры: |
|
|
ЦелевойПуть |
Строка |
путь к создаваемому каталогу |
Процедура ОтправитьФайл() - отправляет файл в сервис NextCloud
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к отправляемому файлу |
ЦелевойПуть |
Строка |
путь к каталогу в сервисе NextCloud, куда будет загружен файл |
Перезаписывать |
Булево |
перезаписать файл в сервисе NextCloud при загрузке |
Функция ПолучитьФайл() - получает файл из сервиса NextCloud
Параметры: |
|
|
ПутьКФайлу |
Строка |
расположение файла на сервисе NextCloud |
ЦелевойКаталог |
Строка |
путь к каталогу, куда будет загружен файл |
УдалитьИсточник |
Булево |
Истина - удалить файл после загрузки |
Возвращаемое значение: Строка - путь к полученному файлу
Функция Существует() - проверяет существование файла / каталога в сервиса NextCloud
Параметры: |
|
|
ПутьНаДиске |
Строка |
расположение файла на сервисе NextCloud |
Возвращаемое значение: Булево - Истина - файл / каталог существует
Процедура Удалить() - удаляет файл из сервиса NextCloud
Параметры: |
|
|
ПутьНаДиске |
Строка |
расположение файла на сервисе NextCloud |
Класс РаботаСSFTP
РаботаСSFTP = Новый РаботаСSFTP("MySFTPServer:2222", "user", "P@ssw0rd");
Функция Адрес() - возвращает адрес сервера SSH
Возвращаемое значение: Строка - адрес сервера SSH
Функция Пользователь() - возвращает имя пользователя сервера SSH
Возвращаемое значение: Строка - имя пользователя сервера SSH
Функция Соединение() - возвращает соединение с сервером SSH
Возвращаемое значение: КлиентSSH - соединение с сервером SSH
Процедура УстановитьПараметрыСоединения() - создает соединение с сервером SSH с указанными параметрами
Параметры: |
|
|
_Адрес |
Строка |
адрес сервера SSH |
_Пользователь |
Строка |
имя пользователя сервера SSH |
ПутьККлючу |
Строка |
путь к файлу закрытого ключа сервера SSH |
Процедура СоздатьКаталог() - каталог на сервере SFTP
Параметры: |
|
|
ЦелевойПуть |
Строка |
путь к создаваемому каталогу |
Процедура ОтправитьФайл() - отправляет файл в сервис NextCloud
Параметры: |
|
|
ПутьКФайлу |
Строка |
путь к отправляемому файлу |
ЦелевойПуть |
Строка |
путь к каталогу на сервере SFTP, куда будет загружен файл |
Перезаписывать |
Булево |
перезаписать файл на сервере SFTP при загрузке |
Функция ПолучитьФайл() - получает файл с сервера SFTP
Параметры: |
|
|
ПутьКФайлу |
Строка |
расположение файла на сервере SFTP |
ЦелевойКаталог |
Строка |
путь к каталогу, куда будет загружен файл |
УдалитьИсточник |
Булево |
Истина - удалить файл после загрузки |
Возвращаемое значение: Строка - путь к полученному файлу
Функция Существует() - проверяет существование файла / каталога на сервере SFTP
Параметры: |
|
|
ПутьНаДиске |
Строка |
расположение файла на сервере SFTP |
Возвращаемое значение: Булево - Истина - файл / каталог существует
Процедура УдалитьФайл() - удаляет файл с сервера SFTP
Параметры: |
|
|
ПутьНаДиске |
Строка |
расположение файла на сервере SFTP |
Процедура УдалитьКаталог() - удаляет каталог с сервера SFTP
Параметры: |
|
|
ПутьНаДиске |
Строка |
расположение каталога на сервере SFTP |
Класс СтруктураХраненияИБ
СтруктураИБ = Новый СтруктураХраненияИБ();
Функция ВерсияФорматаКонфигурации() - возвращает версию формата конфигурации
Возвращаемое значение: Структура - информация о версии формата конфигурации
*Версия - Число - номер версии формата конфигурации
*ТребуемаяВерсияПлатформы - Строка - минимальная версия платформы 1С
Функция ОписаниеКонфигурации() - возвращает описание конфигурации
Возвращаемое значение: Структура - описание конфигурации
*Имя - Строка - имя конфигурации
*Синоним - Строка - синоним конфигурации
*Версия - Строка - версия конфигурации
*РежимСовместимости - Строка - версия режима совместимости конфигурации
*КраткаяИнформация - Строка - краткая информация о конфигурации
*ПодробнаяИнформация - Строка - подробная информация о конфигурации
*Поставщик - Строка - поставщик конфигурации
*АвторскиеПрава - Строка - данные об авторских правах
*АдресИнформацииОПоставщике - Строка - адрес сайта с информацией о поставщике
*АдресИнформацииОКонфигурации - Строка - адрес сайта с информацией о конфигурации
*АдресКаталогаОбновлений - Строка - адрес сайта с каталогом обновлений
Функция ОписаниеМетаданныхОбъектаБД1С() - возвращает описание метаданных 1С для объекта СУБД по его имени
Параметры: |
|
|
ИмяОбъекта |
Строка |
имя таблицы или поля таблицы СУБД |
Возвращаемое значение: Структура - описание метаданных 1С по имени объекта СУБД
*Владелец - Структура - структура описания объекта владельца
*Тип - Строка - тип объекта или коллекция
(например: Справочник, Документ, ТабличнаяЧасть, Поле)
*ТипАнгл - Строка - тип объекта или коллекция на английском
(например: Reference, Document, TabularSection, Field)
*Назначение - Строка - назначение таблицы БД (например: Основная, Итоги, Обороты)
*Имя - Строка - имя объекта в БД (Префикс + Индекс)
*Префикс - Строка - префикс объекта (например: Reference, Document, VT, Fld))
*Индекс - Число - числовой индекс объекта
*Суффикс - Строка - дополнительный суффикс имени объекта (например: "_RRef")
*Ид - Строка - UUID объекта 1С
*ИмяМетаданных - Строка - имя метаданных 1С
*ПолноеИмяМетаданных - Строка - имя метаданных 1С
Функция ОписаниеМетаданныхОбъектовБД1С() - возвращает описание метаданных 1С для таблиц и полей таблиц СУБД
Параметры: |
|
|
ДобавлятьКолонки |
Булево |
Истина - будет добавлена информация для колонок таблиц |
Возвращаемое значение: Соответствие - соответствия имен таблиц СУБД и полных имен метаданных 1С описаниям объектов метаданных (см. ОписаниеМетаданныхОбъектаБД1С)
Функция ЗанимаемоеМесто() - возвращает описание занимаеиого места в базе MS SQL Server
Возвращаемое значение: Структура - описание занимаего места
* РазмерБазы - Число - размер текущей базы данных в байтах, включает файлы данных и журналов
* Свободно - Число - место в базе данных, не зарезервированное для объектов базы данных
* Зарезервировано - Число - общий объем, выделенный объектам в базе данных
* Данные - Число - зарезервированный объем, используемый данными
* Индексы - Число - зарезервированный объем, используемый индексами
* НеИспользуется - Число - объем, зарезервированный для объектов в базе данных,
но пока не используемый
* ЖурналВсего - Число - полный объем журнала транзакций
* ЖурналИспользуется - Число - используемый объем журнала транзакций
Функция ПоказателиИспользованияТаблицБазы() - возвращает список таблиц в базе MS SQL Server и их показатели использования
Параметры: |
|
|
ФильтрТаблицПоИмени |
Строка |
фильтр имен таблиц в формате для оператора “LIKE” |
СтатистикаОпераций |
Булево |
Истина - в результат будет включена статистика по операциям с таблицами (для больших баз - может занять много времени) |
Возвращаемое значение: Массив из Структура - таблицы и показатели использования
*Таблица - Строка - имя таблицы
*КоличествоСтрок - Число - количество строк в таблице
*ВсегоЗанято - Число - общий объем заниаемого места (байт)
*Используется - Число - объем, используемый данными (байт)
*НеИспользуется - Число - не используемый объем (байт)
*ОперацийЧтения - Число - количество операций чтения (read)
*ОперацийВыборки - Число - количество операций выборки (select)
*ОперацийСканирования - Число - количество операций сканирования (scan)
*ОперацийПоиска - Число - количество операций поиска (seek)
*ОперацийЗаписи - Число - количество операций записи (write)
Запуск тестов
Необходимые настройки
Для тестирования подключения / отключения сетевого диска требуются дополнительные настройки.
В реестре в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
указать:
BasicAuthLevel : 0x00000002 (2)
В реестре в ключе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
указать:
ProtectionMode : 0x00000000 (0)
Для тестирования работы с базами MS SQL пользователю, под которым выполняется вход на сервер необходимо назначить роль sysadmin
Выполнение тестов
Запуск и остановка окружения выполняются автоматически.
./tools/runtests.bat
Запуск окружения
Для выполнения отладки
./tools/startenv.bat
Остановка окружения
После выполнения отладки
./tools/stopenv.bat