Автономный сервер. Часть 2 - утилита управления

15.12.21

База данных - Администрирование СУБД

Утилита управления "Автономным сервером" может не только управлять. Какие возможности можно использовать уже сегодня? Разбираем с примерами и ищем отличия от привычных методов.

В первой части статьи был рассмотрен собственно Автономный сервер – приложение ibsrv, его преимущества, ограничения, показания к использованию.

Перейдем ко второй части, представляющей для кого-то, возможно, даже больший интерес. В первую очередь, думаю, это должно заинтересовать адептов CI-CD.

Утилита администрирования – ibcmd

Утилита администрирования на текущий момент предоставляет два режима работы

  • Server – в этом режиме создаются или изменяются конфигурационные файлы для Автономного сервера.
     
  • Infobase – предназначен для выполнения различных действий с информационными базами: создание, загрузка/выгрузка, импорт/экспорт и т.д.
     

Режим "server"

Режим работы server тесно связан с самим «Автономным сервером»

Главным его назначением является формирование корректного файла настроек для Автономного сервера, в формате YML.

Например, приведенная ниже команда, на основании переданных параметров и значений по умолчанию, сформирует файл sb_demo.yml, который далее можно указывать как самому серверу ibsrv, так и утилите управления ibcmd вместо длинной цепочки параметров.

>ibcmd server config init --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.yml"

 Содержимое созданного файла sb_demo.yml:

server:
  address: localhost
  port: 8314
database:
  dbms: MSSQLServer
  server: localhost
  name: sb_demo
  user: test_db_user
  password: test_pwd_123
infobase:
  id: 9f28e93a-85a7-4c5c-9860-78e461a83815
  name: 9f28e93a-85a7-4c5c-9860-78e461a83815
  distribute-licenses: yes
  schedule-jobs: allow
http:
  base: /

На этом, пожалуй, описание режима server можно считать исчерпанным.
 

Режим "infobase"

Второй режим работы, infobase, совершенно не зависим от Автономного сервера и может применяться самостоятельно, с любыми базами – файловыми или расположенными в СУБД. Для СУБД-баз при этом совершенно не важно, зарегистрирована ли база на сервере 1С или нет. Взаимодействие идет напрямую с СУБД. 

Возможности утилиты я продемонстрирую на примерах. В замечаниях будут указаны особенности, определенные экспериментально или в переписке с разработчиками на партнерском форуме.

Все примеры буду приводить с заполнением параметров командной строкой. Но в каждом из них можно вместо общих ключей указать путь к файлу конфигурации подобным образом:

>ibcmd infobase dump --config="%tmp%\sb_demo.yml" "%tmp%\sb_demo_2.dt"

Создание базы

Начнем, как обычно, с самого простого примера. Создадим файловую базу.

>ibcmd infobase create --db-path="d:\test\demo_db"
C:\Program Files (x86)\1cv8\8.3.14.1630\bin>ibcmd infobase create --db-path="d:\test\demo_db"
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено

В результате выполнения команды, создан каталог "d:\test\demo_db" и в нём размещена пустая база 1С – файл 1Cv8.1CD (и пара служебных файлов .cfl)

Одновременно с созданием, одной командой можно выполнить дополнительные действия:

  • Загрузить базу из dt-файла
  • Загрузить конфигурацию из cf-файла
  • Загрузить конфигурацию из XML-файлов
     
Создать и загрузить выгрузку из dt-файла. 
>ibcmd infobase create --db-path="d:\test\demo_db" --restore="E:\1C_templates\1c\smallbusiness\1_6_18_156\ОпцииВкл.dt"
C:\Program Files (x86)\1cv8\8.3.14.1630\bin>ibcmd infobase create --db-path="d:\test\demo_db" --restore="E:\1C_templates\1c\smallbusiness\1_6_18_156\ОпцииВкл.dt"
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Загрузка информационной базы...
[ INFO] Загрузка информационной базы успешно завершена

 

Создать и загрузить Конфигурацию из cf-файла.

Для разнообразия создадим новую базу с размещением в СУБД. Добавляем ключ загрузки из cf-файла и путь к нему. Повторяющиеся ключи и параметры в дальнейших примерах будут затенены серым шрифтом.

>ibcmd infobase create --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --create-database --load="%tmp%\sb_demo.cf"
C:\Program Files\1cv8\8.3.14.1630\bin>ibcmd infobase create --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --create-database --load="%tmp%\sb_demo.cf"
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Загрузка конфигурации...
[ INFO] Загрузка конфигурации успешно завершена

Замечание. При создании базы в СУБД, смысл команды create правильнее было бы назвать «инициализацией», т.к. выполняется создание структуры таблиц и индексов в существующей базе данных. Если же базы данных не существует, будет выдана ошибка. Чтобы при отсутствии базы данных она была создана, требуется указать ключ --create-database, аналогично установке флажка «Создать базу данных в случае её отсутствия» в консоли кластера. 

Создать и загрузить Конфигурацию из XML-файлов.

Меняем ключ загрузки на --import и указываем каталог с исходниками.

>ibcmd infobase create --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --create-database --import="%tmp%\sb_demo_export"
C:\Program Files\1cv8\8.3.14.1630\bin>ibcmd infobase create --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --create-database --import="%tmp%\sb_demo_export"
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Импорт конфигурации из XML...
[ INFO] Импорт конфигурации из XML успешно завершен  

Замечание. Загрузка конфигурации из cf-файла или XML-файлов выполняется в «основную» Конфигурацию информационной базы. Конфигурация базы данных после такой операции остается прежней. Чтобы сразу после загрузки произвести обновление конфигурации базы данных, можно добавить ключ --apply.

Загрузка и выгрузка сf, cfe, dt, xml

Разумеется, загрузку dt, cf, cfe, xml-файлов можно выполнить и отдельными командами, без создания информационной базы. Выгрузка во всех поддерживаемых форматах также присутствует.

Загрузка dt-файла:

>ibcmd infobase restore --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "E:\1C_templates\1c\smallbusiness\1_6_18_156\ОпцииВкл.dt"

Выгрузка dt-файла:

>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.dt"

Загрузка конфигурации из cf-файла:

>ibcmd infobase config load --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.cf"

Выгрузка конфигурации в cf-файл:

>ibcmd infobase config save --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.cf"

Замечание. Для команды выгрузки конфигурации save по умолчанию выгружается конфигурация базы данных, а не основная. Для того, чтобы сохранить основную конфигурацию, необходимо указать ключ --staging

Загрузка конфигурации из XML-файлов:

>ibcmd infobase config import --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo_export"

Выгрузка конфигурации в XML-файлы:

>ibcmd infobase config export --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo_export"

Замечание. Для команд загрузки и выгрузки конфигурации доступно указание ключа --extension и имени расширения, которое нужно загрузить или выгрузить.

Обновление конфигурации базы данных

После загрузки Конфигурации или расширения, конечно же, требуется обновить конфигурацию базы данных.

>ibcmd infobase config apply --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123
C:\Program Files\1cv8\8.3.14.1630\bin>ibcmd infobase config apply --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123
[ INFO] Обновление конфигурации базы данных...
[ INFO] Проверка корректности метаданных...
[ INFO] Обработка структуры базы данных...
[ INFO] Обработка данных: Реструктуризация Перечисление.РезультатыОбработкиЗапросовНаИспользованиеВнешнихРесурсовВМоделиСервиса
..............................................
[ INFO] Новый объект: РегламентноеЗадание.ЧтениеНовостейСлужбыПоддержки
[ INFO] Новый объект: РегламентноеЗадание.ЭкспортОценкиПроизводительности
[ INFO] Изменена структура таблиц базы данных
[ INFO] Принятие изменений...
[ INFO] Обновление конфигурации базы данных успешно завершено  

Прочие команды

Без примеров оставлю последние три команды, что есть в текущей версии утилиты.

  • config check - проверка конфигурации 
  • config reset - восстановление конфигурации базы данных.
  • clear - очистка информационной базы
     

Для чего всё это нужно?

Предполагаю, что у Вас уже возник вопрос: «И чем это отличается от пакетного режима Конфигуратора, который делает всё то же самое, и даже больше, давным-давно?». Признаюсь, я ждал этого вопроса.

Отличия от пакетного режима Конфигуратора:

Во-первых, для выполнения описанных действий посредством Конфигуратора, нужно, как минимум, чтобы Клиентская часть Платформы была установлена. С этим не возникает проблем, когда Вы работаете на своем компьютере с локальной базой. Но когда база расположена на сервере, который является только сервером приложений 1С, для загрузок-выгрузок есть следующие варианты:

а) выполнять операции Конфигуратором по сети. Это может занимать очень продолжительное время ввиду особенностей сетевого обмена между компонентами Платформы.

б) устанавливать клиентскую часть Платформы на сервер. Исключительно с целью ускорения выгрузок-загрузок.
А если Ваш сервер – на Linux и без графического интерфейса? Конечно, можно установить пакет Xvfb, эмулирующий вывод на дисплей, но ведь это «костыли», как Вы считаете?

Выполнение действий утилитой ibcmd возможно непосредственно на сервере, без установленного Клиентского приложения. Специально ничего устанавливать не требуется. Утилита присутствует в дистрибутиве сервера приложений 1С.
 

Во-вторых, клиентское приложение, в частности и Конфигуратор, работающий в пакетном режиме, требует лицензию. И возможность получить лицензию Конфигуратором есть не всегда. 

Пример: лицензии выдаются Сервером 1С, локальных лицензий нет. При этом требуется загрузка/выгрузка для файловой базы.

Для выполнения действий утилитой ibcmd лицензия не требуется. Ни клиентская, ни серверная.
 

В-третьих, все операции с базой, выполняемые Конфигуратором, требуют авторизации в этой базе.

Пример: требуется извлечь конфигурацию из dt-файла, который Вам достался, скажем, из архива и неизвестен пароль пользователя ИБ, обладающего административными правами в ней. 

Традиционный способ – создать временную информационную базу в клиент-серверном варианте, чтобы иметь возможность очистки таблицы пользователей. Загрузить в неё dt-файл. Очистить таблицу пользователей базы в СУБД. Перезапустить Конфигуратор. Выгрузить конфигурацию в файл. Удалить временную базу из СУБД.

Для операций, выполняемых ibcmd не требуется авторизация информационной базы. Upd 15.12.21: Ниже, в комментариях, коллеги указывают, что в Платформе версий 8.3.18.1689, 8.3.20.1549 авторизация ИБ уже требуется.

Выполнение той же задачи посредством ibcmd, будет выглядеть следующим образом:

>ibcmd infobase create --db-path="%tmp%\db" --restore="%tmp%\some_infobase.dt"
>ibcmd infobase config save --db-path="%tmp%\db" "%tmp%\some_infobase.cf"

Да, я в знаю что существуют разработки на Инфостарте, позволяющие извлечь конфигурацию в виде cf-файла непосредственно из dt-файла. Здесь я описываю штатные механизмы.

В-четвертых, для выгрузки конфигурации посредством ibcmd, не имеет значения, запущен ли в данный момент Конфигуратор этой базы у кого-то еще или нет. Просто потому что мы не запускаем Конфигуратор.

Более того, я пока не знаю, расценивать ли это как баг или как фичу, но для выгрузки dt-файла не требуется монопольный режим! Конечно же, пользоваться этим стоит с осторожностью. Не думаю что попытка сделать dt-шник в момент активной работы с базой пройдет без негативных эффектов.

В-пятых. Формат командной строки гораздо проще чем для Конфигуратора. Кроме того, есть возможность использования конфигурационного файла, чтобы не указывать повторяющиеся параметры подключения.

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

Чего не хватает для полного счастья

Перечислю функционал, который хотелось бы увидеть в релизе (первоочередные хотелки):

  • Инкрементальная выгрузка в XML только тех файлов, версии которых изменены. 
    Сейчас доступна только полная выгрузка в XML.
     
  • Работа с Хранилищем конфигураций: выгрузка версий, получение отчета по версиям.
     
  • Экспорт непосредственно в формат EDT.
    Об этом отдельно ниже.
     
  • Логирование в Технологическом Журнале в полном объеме.
    Сейчас привычных событий SDBL, DBMSSQL, DBPOSTGRS, DBV8DBENG в ТЖ нет. Пишется только служебное SYSTEM.


Мне представляется, что утилита ibcmd получилась очень функциональным и универсальным инструментом. Возможно, даже более универсальным, чем изначально предполагалось. И сейчас, пока инструмент в статусе беты, у нас есть возможность повлиять на его дальнейшее развитие. Одним из применений и векторов развития мне видится использование в контурах CI-CD. Как для "традиционной" разработки с использованием Хранилищ, так и для работы в новом формате EDT.

Чтобы заменить пакетный режим Конфигуратора в процессе синхронизации "традиционной" разработки с репозиторием Git, не хватает только возможности работы с Хранилищем.

В своей переписке на партнерском форуме с разработчиками я обозначил такой вектор возможного развития инструмента и получил обещание проанализировать и подумать. Ниже привожу цитату своего описания возможного сценария использования. Здесь я защищал предложения включить возможность работы с Хранилищем и выгрузки в формате EDT.

Полагаю, утилита ibcmd могла бы стать отличной заменой громоздкой связке из 1С:ГитКонвертера + EDT (не требующей к тому же java и клиентских лицензий) для целей:

  • перевода существующих разработок в формат EDT
  • совместной работы над общим Проектом, команд, ведущих разработку "традиционным методом" в Хранилище и "новаторских" с EDT. Пример такой работы приведен в статье "Постепенный переход на разработку в EDT". 
  • синхронизации Хранилища с репозиторием Git для целей CI-CD.

К недостаткам выполнения этих операций посредством 1С:ГитКонвертера я бы отнёс:

  • необходимость установки Клиента и использование клиентских лицензий
  • необходимость установки java
  • необходимость установки самой EDT для конвертации XML-EDT

Использование ibcmd позволило бы избавиться от всех этих недостатков, а также гибко управлять процессом скриптами или из сервера сборок.

Также, одним из преимуществ перехода на использование репозитория Git вместо Хранилища, декларируется возможность работы с исходными кодами без использования какой-либо IDE, посредством "любимого текстового редактора". Однако сейчас получается, что для того, чтобы сначала получить из Конфигурации исходные коды, а после доработок собрать из них Конфигурацию, требуется установленная EDT, очень ресурсоемкая, надо сказать. Лишь для того, чтобы один формат XML-файлов привести к другому. Осмелюсь предположить, что выполнение этой задачи посредством ibcmd было бы гораздо более эффективным.

Заключение

Спасибо всем, кто дочитал до конца. Статья получилась значительно больше, чем я предполагал, создавая заготовку. Надеюсь, что я не зря потратил силы и время, и Вы открыли для себя что-то новое.

См. также

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Пользовался ранее https://infostart.ru/1c/articles/1120161/#, но она устарела, т.к. службы запускаются через systemctl, да и сами службы слегка изменились. Возможно, где-то на ИТС уже есть нужная инструкция, но мне не попалась.

15.11.2024    297    Baser    2    

1

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    829    Tantor    19    

14

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    3134    Tantor    38    

34

Администрирование СУБД Системный администратор Программист Бесплатно (free)

CDC - очень мощный механизм, который можно использовать во многих сценариях, возможность развернуть его в Docker показывает простоту и лёгкость данной технологии.

08.10.2024    728    AlexSvoykin    1    

7

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ и решение ошибок СУБД. Во время реиндексации базы Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект "ИмяБазы.dbo._RefSInf21806", так как он не существует, или отсутствуют разрешения. Во время проверки целостности Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf21806".

19.09.2024    4337    Xershi    10    

17

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    2963    1CUnlimited    9    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Evil Beaver 8243 21.12.19 19:23 Сейчас в теме
Отлично, спасибо! Пишите еще!
Free1CforAll; +1 Ответить
2. ASDF2 288 22.12.19 12:20 Сейчас в теме
Замечательная статья и очень интересный инструмент! Даже странно, что никакой публичной информации о нем.
Free1CforAll; +1 Ответить
3. dumsik 35 22.12.19 13:44 Сейчас в теме
Отличная статья!
Free1CforAll; +1 Ответить
4. baykovsky 22.12.19 18:47 Сейчас в теме
Отличная статья!
Это получается, что разработчики огромную дыру в безопасности сотворили, позволяя выгружать базу данных без авторизации.
Интересно, какие библиотеки требуются для работы инструмента, возможно ли создать portable-версию?
5. VKislitsin 1013 22.12.19 19:24 Сейчас в теме
(4) Станислав,
Это получается, что разработчики огромную дыру в безопасности сотворили, позволяя выгружать базу данных без авторизации

Нет, немного не так. Нет авторизации в информационной базе. Но есть авторизация СУБД. Т.е. выгрузить базу без соответствующих прав не выйдет.

Интересно, какие библиотеки требуются для работы инструмента, возможно ли создать portable-версию?

Используются те же dll, что и "обычным" кластером. Если собрать в папку все используемые библиотеки, должно работать. Я пробовал, но не довёл эксперимент до конца. Некоторые функции у меня работали. А некоторые - нет. Причем уже без явной ругани что не хватает такой-то библиотеки.
57. user1211516 20.01.22 16:28 Сейчас в теме
Добрый день.
Было актуально до версии 8.3.18.1741. Использую ibcmd с целью автоматизированной выгрузки dt для программистов. Обнаружил, что после обновления с 8.3.18.1563 до 8.3.18.1741 инструмент перестал работать. В ходе анализа обнаружил параметры:
## --user=<name> | -u <name>
## Имя пользователя информационной базы
## --password=<password> | -P <password>
## Пароль пользователя информационной базы

Итоговый рабочий вариант выгрузки:
>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --user=<name> --password=<password> "%tmp%\sb_demo.dt"
vita55555; user1731650; magv; +3 Ответить
58. VKislitsin 1013 20.01.22 16:34 Сейчас в теме
(57) Да, похоже что направление развития утилиты выбрано совсем не то, что позволяло бы расширить её использование. Добавили авторизацию ИБ, требование серверной лицензии.
69. Dzhan-zabilov 01.08.22 16:13 Сейчас в теме
(57) Спасибо большое! Второй день кручу/верчу свой postgres - почему авторизация перестала проходить)
75. gucci76 366 10.12.22 20:22 Сейчас в теме
(57)
--password=

(57) После смены платформы стал требовать аутентификацию в ИБ
добавил ваши параметры со своими значениями.
Теперь выдает "Ошибка разбора параметра --user=<name> " Пользователь существует (был скопирован из списка пользователей)
Кто то сталкивался?
103. 1sig 248 24.02.24 12:52 Сейчас в теме
(75) также, помогла перестановка параметров --user=<name> --password=<password> в конец строки
70. Dzhan-zabilov 01.08.22 16:26 Сейчас в теме
(4) какая разница в каком формате база выгружается в sql или dt, если у вас есть учетка от sql-сервера?
6. artbear 1563 23.12.19 14:20 Сейчас в теме
Хороший инструмент ibcmd получается у 1С.
По описанию АПИ (ком.строка, файл настройки) очень похож на наш, уже давно существующий, vanessa-runner, использующий штатные средства Конфигуратора/Предприятия.

Хорошо бы, чтобы утилита ibcmd научилась работать не только с Автономным сервером )
Тогда будет счастье.

ЗЫ Апдейт - я неверно понял, оказывается, эта утилита уже работает не только с автономным сервером. Это радует!
7. VKislitsin 1013 23.12.19 14:26 Сейчас в теме
(6)
Хорошо бы, чтобы утилита ibcmd научилась работать не только с Автономным сервером )

Артур, так я об этом и пишу. Она как раз и работает не только с автономным сервером, но и независимо.
Как раз для ваших инструментов и отличная замена пакетному режиму.
По крайней мере, я думаю что работа с Храном будет. И Gitsync, deployk-у можно будет педелать на использование ibcmd.
Остается конечно проблема с запуском обработчиков обновления. Это без клиента никак сейчас не сделать.
Хотя, вот есть ведь у Платформы сейчас служебное фоновое задание UpdateConfigurationLicense, запускаемое после обновления БД.
Думаю, что нет технических препятствий (для разработчиков Платформы) к реализации выполнения обработчиков обновления полностью фоново, без запуска клиента. Но это, как говорится, уже отдельный разговор.
8. artbear 1563 23.12.19 14:26 Сейчас в теме
(7) да, после написания своего комментария я пересмотрел статью и увидел, что не только с АС, и обновил свое сообщение.
9. ixijixi 1913 25.12.19 08:56 Сейчас в теме
Осталось запустить эту утилиту, чтобы она работала в фоне, и можно в продакшен
Прикрепленные файлы:
10. ixijixi 1913 25.12.19 10:13 Сейчас в теме
11. VKislitsin 1013 25.12.19 10:19 Сейчас в теме
(10) Максим,
я вероятно не понял Вашего вопроса. А для чего фоном и службой?
12. ixijixi 1913 25.12.19 10:25 Сейчас в теме
(11) Написал не в ту ветку)) это было по поводу ibsrv.
У нас просто как раз 3 пользователя, попробовали по сети - скорость отличная. Осталось запустить ibsrv как службу и пользоваться.
13. VKislitsin 1013 25.12.19 10:29 Сейчас в теме
(12) Так в ветке про ibsrv я даже пример регистрации службы приводил.

А насчет запуска как службы произвольного консольного приложения или даже скрипта PowerShell, со временем будет заметка. Лежит у меня в черновиках, про отслеживание изменений каталога Хранилища с целью запуска синхронизации по событию, а не по расписанию.
user1407676; ixijixi; +2 Ответить
15. ixijixi 1913 25.12.19 11:01 Сейчас в теме
(13) Да, спасибо, невнимательно прочёл.
14. VKislitsin 1013 25.12.19 10:33 Сейчас в теме
(12)
У нас просто как раз 3 пользователя, попробовали по сети - скорость отличная. Осталось запустить ibsrv как службу и пользоваться

Максим, Вы в ветке про ibsrv этот комментарий продублируйте, пожалуйста, чтобы он был в контексте. Думаю, кому-то Ваш опыт поможет.
16. user949348 30.12.19 10:51 Сейчас в теме
(12)подскажите пожалуйста, оборудование подключаемое работает в таком режиме?
17. VKislitsin 1013 30.12.19 11:30 Сейчас в теме
(16) Михаил, хотя вопрос адресован вероятно не мне, я попробую ответить.
Подключаемое оборудование работает на клиенте и, я думаю, вариант взаимодействия клиента с сервером на нем никаким образом не может сказываться. На практике еще не проверял, нет под рукой сейчас ничего из подключаемого.
18. user949348 30.12.19 12:00 Сейчас в теме
(17) видимо не туда нажал ответить, хотел к этому сообщению "У нас просто как раз 3 пользователя, попробовали по сети - скорость отличная", в любом случае спасибо за информацию, возможно для нас станет спасением
19. alex_bob 248 16.03.20 14:01 Сейчас в теме
Не подскажете, что за параметр --system=<path> (Путь к системному конфигурационному файлу)?
Это из help к ibcmd. Со всеми остальными командами вроде ясно, а про этот параметр ничего не нашел.
20. VKislitsin 1013 16.03.20 15:45 Сейчас в теме
(19) Алексей, похоже я пропустил этот параметр, когда изучал тему. Поискал сейчас и тоже ничего не нашел. Задал вопрос разработчикам на партнерском форуме. Как ответят, ретранслирую сюда или дополню в статье.
21. VKislitsin 1013 17.03.20 10:37 Сейчас в теме
(19) Привожу дословно ответ разработчиков по поводу параметра --system=<path>
Системный конфигурационный файл используется для "тонкой" настройки работы автономного сервера. В настоящий момент, его содержимое не задокументировано.
vita55555; Дмитрий74Чел; +2 Ответить
22. alex_bob 248 17.03.20 10:38 Сейчас в теме
23. FreeArcher 162 18.03.20 06:17 Сейчас в теме
Подскажите, вы упомянули что достоинство это утилиты, что она не требует локального ключа.
А если работать через конфигуратор, то не ГитКонвертер, ни Gitsync без локального ключа не заработает на сервере?
24. VKislitsin 1013 18.03.20 10:02 Сейчас в теме
(23) Алексей, Конфигуратор в пакетном режиме не работает без лицензии. И GitSync и ГитКонвертер работают именно через пакетный режим Конфигуратора, т.е. формируют командную строку запуска Конфигуратора с необходимыми ключами.

Некоторое время назад, когда для одного из проектов делал синхронизацию Хранилища с Git-ом, еще на "старой" версии 2.4.3 GitSync, как раз столкнулся с проблемой что невозможно было запустить пакетный режим для автоматически создаваемой временной файловой базы, т.к. лицензии раздавались сервером. В тот раз мне пришлось немного "допилить" GitSync, чтобы он мог использовать в качестве временной существующую серверную базу.

Сейчас, "новый" GitSync версии 3.0 позволяет использовать серверную базу в качестве временной. Я писал о новом GitSync небольшую заметку.
25. ComboBoy 15 24.03.20 10:28 Сейчас в теме
26. shamahn 1 08.05.20 03:02 Сейчас в теме
С недавнего времени (да и раньше тоже бывало, но как-то получалось обходить), что через конфигуратор базы просто отказываются выгружаться и загружаться (в контейнере на проксмокс сервер дебиан + 1С + постгри) с ошибкой server_addr=tcp://xxxx:1560 descr=recv returns zero, disconnected line=1597 file=src\DataExchangeTcpClientImpl.cpp
И добавляли памаяти, и камней ему подкивали - результат один. До чтения логов, конечно, дело не дошло :) наткнулся на эту утилиту. И сразу появился вопрос: почему нельзя было сделать такое сразу, ибо как описано в статье - конфигуратор выглядит как кастыли.
И да. Хорошая статья. Нового узнал немного, но убедился в том, что движусь в правильном направлении :)
27. serega7 11.08.20 11:04 Сейчас в теме
У кого нибудь работают нормально регламентные задания в автономном сервере под windows (8.17 версия).
- время заданий отображается -3 часа (utc), при этом время создаваемых документов корректно.
- не работает запуск по расписанию. какие-то задания стартуют только при запуске сервера.
- заведомо рабочее расписание (каждый день, каждые 60 секунд) просто не работает. запуск вручную работает.
все это и в файловом и в mssql вариантах подключения одинаково не работает.
schedule-jobs: allow
30. viplelik 34 13.09.20 13:33 Сейчас в теме
(27) решили этот вопрос?
Тоже столкнулся с такой же проблемой. Не запускаются регламентные задания по расписанию.
31. serega7 17.09.20 13:38 Сейчас в теме
(30) нет. не решил. не работают регламентные даже в 8.18.
28. vadim1980 132 10.09.20 11:21 Сейчас в теме
Автору стоит упомянуть, что использование данной утилиты для снятия бэкапа с ИБ, в которой работают пользователи может привести к нарушению логической целостности
29. VKislitsin 1013 10.09.20 11:28 Сейчас в теме
(28) Вадим, автор нигде и не предлагает использовать данную утилиту для бэкапа.
Более того, в тексте есть фраза:
Конечно же, пользоваться этим стоит с осторожностью. Не думаю что попытка сделать dt-шник в момент активной работы с базой пройдет без негативных эффектов.

Тем не менее, в последнее время автор очень активно использует этот способ для выгрузки CF-файлов Конфигурации, когда Конфигуратор занят кем-то, а также выгрузки DT-шников для тестовых и разработочных баз.
gucci76; vita55555; vadim1980; +3 Ответить
32. serega7 17.09.20 13:40 Сейчас в теме
Возможно, автору материала стоит отразить этот момент с неработающими регламентными заданиями под windows.
35. VKislitsin 1013 19.11.20 08:58 Сейчас в теме
(32)Добавил UPDATE со ссылкой на этот блок комментариев.
73. German 413 04.12.22 21:37 Сейчас в теме
Регламентные задания в автономном сервере работали до 4 декабря 2022.
Клевая пасхалка, с 4 декабря в 3 часа ночи, все РЗ перестали работать проверяли на 8.3.21 и 22 релизе на старых и новых версиях.

Если дату компа вернуть раньше 4 декабря 22, то рег. задания начинают работать.
fendibober; vita55555; Дмитрий74Чел; +3 Ответить
33. info1i 236 18.11.20 23:06 Сейчас в теме
Ввел команду выгрузки базы в dt:
ibcmd.exe infobase dump --db-path="C:\Test\1c\WHS2" path="C:\Test\1c\WHS2.dt"
Утилита сообщила, что успешно выгрузила.
Однако файл "C:\Test\1c\WHS2.dt" отсутствует.
Я предположил, что требуется авторизация, но аналогичная ситуация с базой t1, в которой отсутствуют пользователи.
Сделано по инструкции и не работает.
Потом я ввел такую команду:
ibcmd.exe infobase dump --db-path="C:\Test\1c\t1" "C:\Test\1c\t1.dt"
И заработало.
И аналогично сработало для базы с пользователями:
ibcmd.exe infobase dump --db-path="C:\Test\1c\WHS2" "C:\Test\1c\WHS2.dt"
Прикрепленные файлы:
34. VKislitsin 1013 19.11.20 08:45 Сейчас в теме
(33)Александр, Ваш первоначальный вариант с 'path=' был интерпретирован как позиционный параметр, означающий путь к выгрузке (вместе с path=). Ключа 'Path' в справке к утилите не описано. К тому же, он не предварен двумя дефисами. На скриншоте видно, что в текущем каталоге есть файл без расширения 'Path=C', совпадающий по размеру с выгрузкой t1.dt. Уверен, что если переименовать его с расширением .dt, можно будет убедиться что это и есть выгруженный dt-шник. Предыдущий файл, от выгрузки базы WSH2, имел точно такое же имя и просто перезаписан.
98. amig0 10.11.23 14:25 Сейчас в теме
(33) каким образом у вас получилось сделать дамп с работающими пользователями? У меня 'ошибка исключительной блокировки'?
99. info1i 236 13.11.23 21:53 Сейчас в теме
(98) Описал здесь: https://infostart.ru/1c/articles/1450338/
Во вложении скрипт для серверной базы.
Прикрепленные файлы:
BackupDBibcmd.sh
100. amig0 14.11.23 10:14 Сейчас в теме
(99) вопрос бекапа файловой базы с работающими пользователями. Так и остался открытым
101. info1i 236 14.11.23 10:23 Сейчас в теме
(100) В моем случае я выгружал dt при отсутствии активных пользователей. Если не получится, тогда остается копирование папки с архивацией. Можно еще попробовать скопировать папку, удалить из нее файл блокировки "*.lock" и выгрузить dt утилитой ibcmd.
36. a0212 10.02.21 16:20 Сейчас в теме
а как опубликовать http-сервис с помощью этого автономного сервера?
37. kuntashov 463 02.05.21 12:40 Сейчас в теме
Автору спасибо за этот цикл статей, лучшая документация по ibcmd на сегодня!

Вопрос к пользователям ibcmd, никто не сталкивался с такой ситуацией:

Платформа 8.3.18.1289
Окружение такое: полностью типовая демо-база УНФ (пробовал аналогично и на БП)
никаких расширений в ней нет
СУБД Postgres,
СУБД и сервер приложений 1С под управлением серверной Ubuntu 20.04.2

Пытаюсь при помощи ibcmd загрузить в базу небольшое расширение TestExt.cfe
Команда:

ibcmd infobase config load --config=./test.yml -e TestExt --force ./TestExt.cfe


Получаю ошибку:

[ INFO] Загрузка конфигурации...
[FATAL] Попытка получения неинициализированного значения параметра сеанса


Расширение не загружается.

Создаю пустую базу и то же расширение аналогичной командой в нее успешно загружается.

В демо-базу БП аналогично загрузить расширение не удается, такая же ошибка.

С чем может быть связано, куда копать?

По фразе "Попытка получения неинициализированного значения параметра сеанса" выглядит так, как будто какой-то чуть ли ни рантайм самой конфигурации отрабатывает, но это же не должно ведь происходить.

В другом окружении пока не имею возможности проверить.
38. ZeratulAyuris 27.05.21 15:21 Сейчас в теме
(37) Не нашли решение? На той же версии платформы, но с MS SQL и Windows поймал аналогичную ошибку при попытке загрузить расширение из исходников.
40. kuntashov 463 27.05.21 17:57 Сейчас в теме
(38) К сожалению, нет, не удалось решить вопрос.
39. VKislitsin 1013 27.05.21 17:26 Сейчас в теме
(37) (38) Думаю, имеет смысл на партнерском форуме этот вопрос разработчикам 1С задать. Ответ, по возможности, сюда можно транслировать.
41. Jamms 08.09.21 08:58 Сейчас в теме
Спасибо за статью!

Пробуем применять у себя для автоматизации некоторых операций. Столкнулись со странным недочетом при работе с расширениями.

Для команд загрузки и выгрузки конфигурации доступно указание ключа --extension и имени расширения, которое нужно загрузить или выгрузить.

Логично предположить, что речь о командах save, load, export и import.

У нас успешно работают export и import, но не работает save.
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase create --create-database --db-path=/opt/123/demo_db
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase config import --db-path=/opt/123/demo_db --extension=extension 123/edi1c83/src
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase config save --db-path=/opt/123/demo_db --extension=extension 123/extension.cfe
[ INFO] Exporting configuration to file...
[FATAL] Incompatible configuration storage modes

Сообщение о фатальной ошибке возникает при добавлении ключа --extension.

Кто-то сталкивался с подобным? Есть идеи, почему так и что можно сделать?
42. GarickRus 7 01.10.21 12:58 Сейчас в теме
В 8.3.20.1363 выдаёт такое(--data=d:\dt появился новый параметр "data"):
D:\DT>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=Storage2020 --db-user=sa --db-pwd=sa --data=d:\dt d:\dt\1.dt
Неправильный путь к файлу 'd:\dt\1.dt'. Схема не зарегистрирована
43. GarickRus 7 04.10.21 12:45 Сейчас в теме
(42)
ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=Storage2020 --db-user=sa --db-pwd=sa --data=d:\dt d:\dt\1.dt

Сработал следующий вариант(появились параметры user и password)
ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=TEMP --db-user=sa --db-pwd=sa --user=*** --password=*** --data=d:\dt d:\dt\1.dt
44. borskiy 10.11.21 08:34 Сейчас в теме
"Для выполнения действий утилитой ibcmd лицензия не требуется. Ни клиентская, ни серверная."

В 8.3.20.1549 уже требуется. Причём аппаратный серверный ХАСП она не видит в упор (сервер работает нормально), в результате чего оказывается неработоспособной.
Прикрепленные файлы:
45. VKislitsin 1013 10.11.21 10:44 Сейчас в теме
(44)
В 8.3.20.1549 уже требуется.

Печальная новость.
Предположу, что можно продолжить всё делать утилитой старой версии.
49. borskiy 11.11.21 09:55 Сейчас в теме
(45)
Да, пока конфа не потребует 8.3.20.
51. VKislitsin 1013 14.11.21 18:48 Сейчас в теме
(49) Нет, я имел ввиду несколько другое.
Допустим, у вас установлены платформы версий 8.3.20.XXXX, 8.3.16.XXXX. Для работы конфигурации требуется 8.3.20. Но это не мешает утилитой ibcmd из версии 8.3.16 делать выгрузки-загрузки и другие действия. Без лицензий и авторизаций, введенных в 8.3.20.
54. borskiy 15.11.21 08:47 Сейчас в теме
(51)
не мешает утилитой ibcmd из версии 8.3.16 делать выгрузки-загрузки и другие действия

Мешает. Проверено. Если попытаться сделать выгрузку утилитой из комплекта платформы, версия которой ниже, чем требуется для работы конфигурации, то операция прервётся с ошибкой.
GarickRus; +1 Ответить
46. VKislitsin 1013 10.11.21 10:49 Сейчас в теме
(44)
Причём аппаратный серверный ХАСП она не видит в упор

Здесь, кстати, может быть другая причина. В RDP-сессии запускаете? Хаспы в RDP не видны. Видны только в "нулевой" сессии.
50. borskiy 11.11.21 09:57 Сейчас в теме
(46)
Хаспы в RDP не видны

Забавно. Никогда с такой проблемой не сталкивался.
Учитывая, что 99,9% серверов стоят без монитора/клавы/мыши, могли бы предусмотреть сей косяк.
52. VKislitsin 1013 14.11.21 18:54 Сейчас в теме
(50)
Забавно. Никогда с такой проблемой не сталкивался.
Учитывая, что 99,9% серверов стоят без монитора/клавы/мыши, могли бы предусмотреть сей косяк.

Тут "косяк" не столько 1С-ный, сколько драйверов HASP.
53. borskiy 15.11.21 08:44 Сейчас в теме
(52)
Так я и не утверждаю, что косяк драйверов хаспа принадлежит 1с.
Косяк 1с состоит в том, что они, не подумавши, включили в утилиту требование лицензии и не предусмотрели возможность использования в терминальном режиме.
47. Tank-yarsk 10.11.21 14:20 Сейчас в теме
(43) Добрый день!
Пытаюсь выгрузить файлы XML командой:

ibcmd infobase config import "D:\xml" --config="D:\Автономный сервер\config1.yml" --user=Администратор --data="D:\Автономный сервер\ss-data\ss1"


Но все равно требует указать логин и пароль ИБ, у Вас нормально отрабатывает? запрашивается логин и пароль тоже, даже если указан?
Прикрепленные файлы:
48. artbear 1563 10.11.21 15:44 Сейчас в теме
(47) в 20 релизе появилась необходимость авторизации пользователя.

для команд config extension есть баг - авторизация всегда запрашивается, коллеги из 1С подтвердили.

для команды import вроде бы не было проблем, но мы на всякий случай всегда передаем логин и пароль
55. fatman78 20 15.12.21 12:45 Сейчас в теме
Для операций, выполняемых ibcmd не требуется авторизация информационной базы.


Исправьте пож-та статью:
Платформа 8.3.18.1520 авторизацию в базе при выгрузки не требовала, перешел на 8.3.18.1689
утилита стала требовать авторизацию в базе...
vita55555; VKislitsin; +2 Ответить
56. VKislitsin 1013 15.12.21 13:29 Сейчас в теме
(55) Спасибо. Добавил уточнение.
59. alex_bob 248 01.02.22 16:34 Сейчас в теме
Кто-нибудь может прокомментировать назначение команды "infobase clear". Попробовал запустить из командной строки, проинформировала, что очистка успешно произведена, но при последующей попытке запуска конфигуратора платформа падает с ошибкой.
60. serega7 05.06.22 11:31 Сейчас в теме
(59) очищает БД. после этой команды загрузите dt с пом. ibcmd и открывайте в конфигураторе.
77. oooo800 12.01.23 21:48 Сейчас в теме
(60)
очищает БД. после этой команды загрузите dt с пом. ibcmd и открывайте в конфигураторе.

А как ?
Платформа 8.3.19.1726, ИБ типовая Бухгалтерия 3.0

Очистил ИБ с помощью clear.
Затем при restore запрашивается имя/пароль пользователя:
"Для выполнения операции требуется аутентификация в информационной базе"
В соответствующих параметрах были указаны имя/пароль, которые есть в ИБ в dt.
Имя - администратор, пароль - простой из 1 цифры.
Потому что ИБ после очистки "девственная".

Но "Идентификация пользователя не выполнена"
В чем прикол ?
vita55555; +1 Ответить
61. check2 379 07.06.22 18:11 Сейчас в теме
Коллеги, начиная в 8.3.20 видимо поменялся синтаксис команды. по крайней мере сделать так:
>ibcmd infobase config export --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo_export"
Не получается ответ вот такой:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --data=D:/trash/DELETE_ME/TMP D:/trash/DELETE_ME/D_ME_OUT
Не указано значение параметра: Путь к каталогу или архиву для экспорта выбранных объектов

Почитав мануалы получилось выгружать отдельно выбранные объекты:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --out=D:/trash/DELETE_ME/D_ME_OUT --data=D:/trash/DELETE_ME/TMP Справочник.Валюты
[INFO] Экспорт объектов конфигурации в XML...
[INFO] Экспорт объектов конфигурации в XML успешно завершен

Однако вот как выгрузить всё - ума не приложу пробовал подставлять в качестве параметра Objects разные варианты: All,Все,Configuration,Конфигурация, root но оказался не понятым утилитой:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --out=D:/trash/DELETE_ME/D_ME_OUT --data=D:/trash/DELETE_ME/TMP root
[INFO] Экспорт объектов конфигурации в XML...
[ERROR] Операция невозможна, при выполнени экспорта объектов конфигурации в XML обнаружены ошибки:
root не является именем объекта метаданных или свойства.

Если не указывать последний параметр совсем - просто висит 24 мб с нулевой активностью процессора. видимо ожидает чего то от меня ...
Кому то удалось победить подобную задачу?
62. check2 379 07.06.22 19:35 Сейчас в теме
(61)
Пока получается только через файл конфигурации так:
"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" server config init --db-path=W:/t/DELETE_ME --base=/webAccess > W:/t/DELETE_ME/config.yml
"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export -c W:/t/DELETE_ME/config.yml W:/trash/DELETE_ME/D_ME_OUT --data=W:/t/DELETE_ME/TMP

В один проход ну никак.
91. PerlAmutor 155 29.08.23 06:48 Сейчас в теме
(61)
Свойства основной конфигурации без выгрузки остальных объектов метаданных можно выгрузить таким образом (база файловая, пользователей нет):

C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration --db-path="E:\1C\ФайловыеБазы\ERP_2_5_12_107" --out="E:\1C\XML_ERP_2512107"


Каталог выгрузки при этом создается автоматически. В него выгружается Configuration.xml и создается каталог Ext с конфигурацией поставщика и т.п.
VKislitsin; +1 Ответить
92. PerlAmutor 155 29.08.23 07:16 Сейчас в теме
(61)

А вот таким неочевидным образом можно выгрузить конфигурацию поставщика с .cf и ParentConfigurations.bin файлом:

C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration.ParentConfigurations --db-path="E:\1C\ФайловыеБазы\ERP_2_5_8_410_2_5_12_107" --out="E:\1C\XML_ERP_2512107""
VKislitsin; +1 Ответить
93. PerlAmutor 155 29.08.23 07:57 Сейчас в теме
(61) А так можно выгрузить сразу и конфигурацию поставщика и роль ПолныеПрава

C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration.ParentConfigurations Роль.ПолныеПрава --db-path="E:\1C\ФайловыеБазы\ERP_2_5_12_107" --out="E:\1C\XML_ПолныеПрава"

Стоит сделать одну ВАЖНУЮ ремарку - выгружается конфигурация Базы Данных, а не сохраненная конфигурация!
VKislitsin; +1 Ответить
63. Tiotimolin 24.06.22 09:42 Сейчас в теме
Добрый день.
При дампе БД в версии 8.3.20 выдает ошибку об отсутствующем параметре --data:

/opt/1cv8/x86_64/8.3.20.1914/ibcmd infobase dump --dbms=PostgreSQL --db-server=1c-sql --db-user=postgres --db-pwd=PASSWORD --db-name=DN_NAME test.dt --user=USER --password="PASSWORD"

Missing parameter value: data
На сайте ИТС не нашел ответ.
С 8.3.19 не было. Хэлп )
64. Tiotimolin 24.06.22 12:22 Сейчас в теме
Сам спросил и сам ответил
--data=/tmp
Debian 11
vita55555; +1 Ответить
65. clev 7 20.07.22 23:13 Сейчас в теме
Я правильно понял, что для обновления типовых не получится ей воспользоваться?
ibcmd infobase config load сработает, только если в конфигурации включена возможность изменений?
66. VKislitsin 1013 21.07.22 08:32 Сейчас в теме
(65)
ibcmd infobase config load сработает, только если в конфигурации включена возможность изменений?

ibcmd infobase config load - это аналог пункту конфигуратора "Конфигурация -> Загрузить конфигурацию из файла..". Там ведь не проверяется, можно ли изменять конфигурацию и т.д. Она просто целиком заменяется. По сути, там полностью заменяется содержимое таблицы Config в СУБД.

Попутные соображения:
В конфигураторе пункт "Загрузить конфигурацию из файла" может быть недоступным, если конфигурация подключена к хранилищу. А вот ibcmd, предполагаю, здесь сможет загрузить. Надо будет проверить.
67. CerberTech 30.07.22 10:50 Сейчас в теме
Добрый день.
На новом сервере восстановил базу
/opt/1cv8/x86_64/current/ibcmd  infobase create --dbms=PostgreSQL --db-server=/tmp --db-user=postgres --db-name=base --create-database --restore=/backup.base.dt --data=/tmp

Как теперь сказать серверу что у него есть база? Учитывая что у меня под рукой только сервер линукс без графической оболочки.

Догадываюсь что можно руками в папке /home/usr1cv8/ какой-то файл поправить, но какой и как?

А командой можно? Или я ключ при восстановлении пропустил?

Платформа 8.3.21.1393, сервер OEL 8.6 с uek ядром.
68. CerberTech 30.07.22 17:25 Сейчас в теме
(67)
Сам-же отвечаю сообщил серверу через ras

Узнали id кластера
/opt/1cv8/x86_64/current/rac cluster list


Создали базу.
 /opt/1cv8/x86_64/current/rac infobase --cluster=id_claster_длинный_номер create --create-database --name=base --dbms=PostgreSQL --db-server=/tmp --db-name=base --locale=ru --db-user=postgres --license-distribution=allow


Если кто знает еще способы, то пишите.
vita55555; EugeneSemyonov; +2 Ответить
71. user1860499 17.10.22 16:15 Сейчас в теме
Всем привет. Кому нибудь удалось передать данные о логине\пароле от самой информационной базы, непосредственно в команде. Не ясно какие ключи нужно использовать для этого. На ИТС, нужной информации не нашел. Всё же - как авторизоваться в базе НЕинтерактивно?
72. user1860499 18.10.22 12:20 Сейчас в теме
Сам спросил - сам ответил%
Аргументы --user=ПОЛЬЗОВАТЕЛЬ и --password=ПАРОЛЬ к команде.

Где нашёл, да вот тут% ibcmd infobase help
74. 1cnik2 13 08.12.22 16:48 Сейчас в теме
Всем привет! Кто-нибудь сравнивал производительность ibcmd config import и vrunner compile? Кто быстрее?
78. OPM 352 03.03.23 12:54 Сейчас в теме
(74)
ibcmd быстрее, но есть проблемы с параллельной работой
79. 1cnik2 13 09.03.23 12:26 Сейчас в теме
(78)
Спасибо! А можно подробности, если вам не сложно? Насколько быстрее? Какие проблемы с параллельной работой?
Вот ниже, например, коллега написал, что есть заморочки, когда хочется загрузить dt сразу в несколько баз одновременно.
82. OPM 352 23.03.23 14:53 Сейчас в теме
(79)

для параллельной работы надо задавать свой каталог (IBCMD_DATA_PATH) для каждого задания, пример
ibcmd infobase config save --data="${IBCMD_DATA_PATH}" --db-path=${1C_PATH_TEMP_BD} ${1C_SRC_CF}


создание cf - 8 минут через vrunner и 1 минута через ibcmd
загрузка конфигурации 8 - 2
обновление 5 - 1,5
kuran0000; tormozit; VKislitsin; +3 Ответить
76. Dondarrion 10.01.23 00:42 Сейчас в теме
Коллеги, что можете сказать по поводу параллельной работы ibcmd? Например, из 2х баз выгрузить DT или наоборот загрузить одновременно в несколько баз. Сейчас столкнулся с ошибкой при запуске 2ой задачи "Server data directory lock error.The working directory is blocked by the process"
80. Ale-Mar 12.03.23 13:28 Сейчас в теме
Всем, привет, никто не сталкивался, как для команды ibcmd infobase replicate указать не стандартный порт PostgreSQL ?
81. user953595 19.03.23 07:21 Сейчас в теме
Добрый день!
С версии 8.3.22.1709 при попытке выгрузить ИБ 8.2 появилась ошибка:
"Недопустимое имя объекта V8USERPWDPLCS"
Соответственно база не выгружается. Что это значит и как можно поправить?
85. Гость 15.05.23 16:18
(81) Нашли в чем причина? такую же ошибку выдает
86. VKislitsin 1013 16.05.23 10:26 Сейчас в теме
(85) Я выскажу гипотезу (не проверял до конца).
На партнерском форуме упоминание V8USERPWDPLCS есть в посте об ошибке, и текст ошибки говорит о том, что это имя таблицы:
"Невозможно реорганизовать индекс "ByName" в таблице "V8USERPWDPLCS", поскольку отключена блокировка на уровне страницы."

Среди таблиц СУБД Платформы до 8.3.22 такой нет. Я предполагаю что в Платформе версии 8.3.22 внесены изменения в структуру таблиц хранения.
База у вас скорее всего не реорганизована на новую структуру. Тут либо базу реорганизовать можно попробовать. Либо выгрузку делать утилитой из прежней версии Платформы.
83. Faradel 26.04.23 15:27 Сейчас в теме
А как указать порт сервера 1С на котором находится база, если это не стандартный порт 1540?
ibcmd infobase restore --db-server=ServerName(Port 1640)
84. VKislitsin 1013 26.04.23 19:19 Сейчас в теме
(83) Думаю, что вы не совсем правильно поняли значение параметра --db-server.
В нём указывается не сервер/порт агента сервера 1С (процесса ragent, который стандартно работает на порту 1540).
Сюда нужно указывать сервер, где у вас крутится СУБД. И, если вдруг СУБД не на стандартном порту, то, как обычно, порт указывается через двоеточие от имени сервера. Например --db-server=mysubdserver:5543
87. moro_as 01.06.23 08:16 Сейчас в теме
А возможна выгрузка расширений? И как это можно сделать?
89. user603532_fan_club_chelsea 24.07.23 12:44 Сейчас в теме
(87) посмотрите в руководстве администратора приложение 4 (4.10.4.7.3. save)... возможно получится выгрузить расширение (cfu)... про выгрузку в xml точно описание есть...
88. user603532_fan_club_chelsea 24.07.23 12:33 Сейчас в теме
Замечание. Для команды выгрузки конфигурации save по умолчанию выгружается конфигурация базы данных, а не основная. Для того, чтобы сохранить основную конфигурацию, необходимо указать ключ --staging

чисто из любопытства, откуда взята информация об этом ключе... на ИТС в документациях про автономный сервер не нашел его описания... смотрел описание 8.3.14 и 8.3.23 платформы
90. user603532_fan_club_chelsea 26.07.23 07:30 Сейчас в теме
Выгрузка dt-файла:

>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.dt"


кто-то пробовал выгружать dt-файл? потому что у меня не выгружается на 21 и 23 - платформах. В указанной папке создаются папки и файлы, но самого архивного dt-файла нет... Может чего не так делаю?!
94. PerlAmutor 155 29.08.23 08:49 Сейчас в теме
Судя по всему режим "ibcmd config" появился лишь в платформе 8.3.23, т.к. на 8.3.20 сейчас выдает лишь такие поддерживаемые режимы:

Поддерживаемые режимы:

help        Отображение справочной информации для указанного режима.
server      Режим настройки автономного сервера
infobase    Режим управления информационной базой
session     Режим администрирования сеансов информационных баз
lock        Режим администрирования блокировок


Стало быть до 8.3.23 все операции по экспорту происходят с конфигурацией БАЗЫ ДАННЫХ, а не сохраненной. Никакого ключа staging при этом нет, т.ч. непонятно как работать с сохраненной.
KAV2; VKislitsin; +2 Ответить
Оставьте свое сообщение