Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com

16.04.20

База данных - Архивирование (backup)

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

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

Процедура делает:

1. ищет базу на сервере 1С по имени.

2. завершает все сеансы найденной базы.

3. ставит запрет регламентных заданий.

4. выгружает dt по определенному пути.

5. снимает запрет регламентных заданий.

Я сделал на сервере новую пустую базу, добавил регламентное задание с расписанием, в котором прописал свою процедуру, уже год работает без сбоев.

&НаСервере
Процедура ВыгрузитьНаСервере()
    Коннектор = Новый COMобъект("V83.ComConnector");

    Агент = Коннектор.ConnectAgent("localhost");
    Кластер = Агент.GetClusters().GetValue(0);
    Агент.Authenticate(Кластер, "", "");
    
    Процессы = Агент.GetWorkingProcesses(Кластер);
    Для каждого РабочийПроцесс Из Процессы Цикл
        Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable  Тогда
            СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ=");
            СоединениеСРабочимПроцессом = Коннектор.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом);
            СоединениеСРабочимПроцессом.AddAuthentication("логин", "пароль");    
            базы = СоединениеСРабочимПроцессом.GetInfoBases();
            //запрещаем запуск регламентных заданий
            для каждого база из базы цикл
                Если база.name = "unf" тогда
                    база.ScheduledJobsDenied = истина;
                    СоединениеСРабочимПроцессом.UpdateInfoBase(база);
                КонецЕсли;    
            конецЦикла;        
            
            базы = Агент.GetInfoBases(Кластер);
            
            //обрубаем все соединения с бд
            для каждого база из базы цикл
                Если база.name = "unf" тогда
                    Сеансы = Агент.GetInfoBaseSessions(Кластер, база);                
                    Для каждого Сеанс Из Сеансы Цикл
                        //Если Сеанс.AppID = "SrvrConsole" Тогда
                        //    Продолжить;
                        //КонецЕсли;
                        Агент.TerminateSession(Кластер, Сеанс);    
                        //Сообщить(Сеанс.AppID)
                    КонецЦикла;                    
                КонецЕсли;    
            КонецЦикла;    
              
        КонецЕсли        
        
    КонецЦикла;    

    
    //делаем паузу 30сек
    КомандаWindows = "Timeout /T " + Строка(30) + " /NoBreak";
    ЗапуститьПриложение(КомандаWindows,,Истина);    
    
    текДата = ТекущаяДата();
    имяВремени = строка(День(текДата))+"_"+строка(месяц(текДата))+"_"+строка(год(текДата))
    +"_"+строка(Час(текДата))+"_"+строка(минута(текДата));
    имяВремени = СтрЗаменить(имяВремени,Символы.НПП,"");
    
    //запускаем выгрузку в .dt
    ЗапуститьПриложение("""C:\Program Files\1cv8\8.3.16.1063\bin\1cv8.exe"" CONFIG /S localhost\unf /N логин /PПароль /Out C:\achiv1C\unf\base\"
    +имяВремени+"_1c.log /DumpIB C:\achiv1C\unf\base\"+имяВремени+"_unf.dt",,истина);
    
    //делаем паузу 30сек
    КомандаWindows = "Timeout /T " + Строка(30) + " /NoBreak";
    ЗапуститьПриложение(КомандаWindows,,Истина);
    
    //разрешаем в бд запуск регл. заданий
    Коннектор = Новый COMобъект("V83.ComConnector");

    Агент = Коннектор.ConnectAgent("localhost");
    Кластер = Агент.GetClusters().GetValue(0);
    Агент.Authenticate(Кластер, "", "");
    
    Процессы = Агент.GetWorkingProcesses(Кластер);
    
    Для каждого РабочийПроцесс Из Процессы Цикл
        Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable  Тогда
            СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ=");
            СоединениеСРабочимПроцессом = Коннектор.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом);
            СоединениеСРабочимПроцессом.AddAuthentication("backup", "911");    
            базы = СоединениеСРабочимПроцессом.GetInfoBases();
            для каждого база из базы цикл
                Если база.name = "unf" тогда
                    база.ScheduledJobsDenied = ложь;
                    СоединениеСРабочимПроцессом.UpdateInfoBase(база);
                КонецЕсли;    
            конецЦикла;            
        КонецЕсли;    
    конецЦикла;            
    
    Коннектор = неопределено;
    
КонецПроцедуры

 

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2971    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3515    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177730    1073    0    

849

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42517    10    24    

38

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27373    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61313    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11745    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31106    31    18    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Sedaiko 572 18.04.20 08:40 Сейчас в теме
Запилил подобное по CentOS скриптом, использующим ibcmd и rac, но для других целей.
Ибо сохрание бэкапов в *.dt - это самоубийство!
starik-2005; ipoloskov; user774630; o4karek; BurlakovIvan; GreenDragon; Summer_13; +7 2 Ответить
22. user1253944 20.04.20 09:07 Сейчас в теме
(1)
сохрание бэкапов в *.dt - это самоубийство!

Полез всё-таки в"первоисточник" от 1С А там не так написано:
Механизм выгрузки предназначен:
для получения образа информационной базы независимо от способа хранения данных;
● для переноса информационной базы из одной СУБД (или файлового варианта) в другую СУБД (или в файловый вариант).

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

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

● может возникнуть ситуация, при которой файл выгрузки будет невозможно загрузить, если в информационной базе, из которой производилась выгрузка, существовали ошибки;
● длительное время создания;
● необходимость монопольного доступа к базе данных;

● высокие требования к оперативной памяти.

Не рекомендуется - это не запрещается.
И в качестве долговременного хранения при предварительно выполненных процедурах тестирования вполне рабочий вариант хранения бэкапов. По мне так это лучше, чем просто заворачивать 1cv8.1cd в архив. Но дольше в плане временных затрат, с этим не поспоришь.
29. GreenDragon 21.04.20 08:47 Сейчас в теме
(22) Ну, стрелять себе в колено тоже не запрещается... Так себе аргументация.
просто заворачивать 1cv8.1cd
и так не получится, так как этого файла и нет - база клиент-серверная же.
31. user1253944 21.04.20 09:56 Сейчас в теме
(29)Про колено - аргументация ещё слабей. Как раз на уровне "сам дурак"
Ну и вырывать из контекста 1cv8.1cd не надо. Это про файловый вариант.
32. GreenDragon 21.04.20 10:41 Сейчас в теме
(31) А зачем про файловый, если мы тут про клиент-сервер. Тут у вас контекст не тот.
И при чём тут "сам дурак"?
39. user1253944 22.04.20 03:45 Сейчас в теме
(32)про файловый вариант - это было адресовано Sedaiko. Тут я ошибся, где ответ нажать. надо было в ответ на это сообщение, тогда бы смысл понятен был.

стрелять себе в колено и сам дурак imho аргументы одинаковой информативности.
Просто не в первый раз вижу, что на вопрос, почему выгрузка в .dt плоха в качестве архивной копии, отвечают в духе "потому что" либо ссылаются на 1С как на неоспоримый авторитет. В этот раз наконец-то решил посмотреть, а какова всё-таки позиция самой 1С. Как это обычно и бывает, совершенно не такая, как, похоже, представляет себе большинство.
Моя интерпретация такая: 1С не рекомендует использовать выгрузку в качестве архивной копии, т.к. это не гарантирует в определенных случаях целостности данных и занимает продолжительное время. При этом в документации аж в нескольких местах приводится практически один и тот же текст, о каких ситуациях идёт речь. Но при этом та же 1С говорит, что выгрузка - наиболее универсальный способ хранения и передачи образа базы данных.
Так что "не рекомендует" - обычная, imho,подстраховка со стороны 1С от возможных наездов. Способ хранения архивов, внедрённый 1С для файловых версий, позволяет сохранить базу со всеми имеющимися в ней ошибками и достаточно быстро. А на файл-серверных решениях 1С просто перевела стрелки на производителей СУБД.
При этом (я сужу по собственному опыту и собственному кругу общения) большинство разработчиков 1С предпочитает иметь дело с выгрузкой, а сисадмины - с теневыми копиями для файловых версий и дампами для sql.
Ну а далее - всё зависит от поставленной задачи и исполнителя. Я, как сисадмин, предпочёл бы решить подобную задачу способом, предложенным в (13) , потому что конкретно в моих условиях выгонять пользователей из базы на продолжительное время (надо ведь учесть ещё и затраты на тестирование базы перед выгрузкой) не реально. И это, на мой взгляд, наиболее оптимальный способ. И не требует каких-то мифических тестовых серверов, как у (23) , да и не опирается на недокументированные особенности толком ещё не обкатанной технологии (17).
Но, опять же, всё зависит от задачи и от исполнителя.
42. asved.ru 36 23.04.20 07:48 Сейчас в теме
(39) dt не гарантирует не только целостности, но и корректности данных вообще. При выгрузке ничего не проверяется, что в базе есть, то и льется, и никакой гарантии, что dt загрузится, нет. А вероятность этого куда выше, чем для дампа SQL, т.к. грузит платформа уже с определенными проверками.
44. user1253944 23.04.20 10:00 Сейчас в теме
(42)Уважаемый, пройдитесь по ветке выше. А то Вы выступаете в роли КО.
А вероятность этого куда выше, чем для дампа SQL, т.к. грузит платформа уже с определенными проверками

А вот здесь, пожалуйста, поподробней. Какие проверки делаются при создании дампа SQL?
2. Online-Ufa 18.04.20 09:30 Сейчас в теме
+ 1
dt - это не резервная копия
+ делать резервную копию в dt из серверной версии - это двойное извращение
user774630; GreenDragon; o4karek; nomad_irk; +4 3 Ответить
3. karamazoff 95 18.04.20 10:18 Сейчас в теме
Задача стояла именно так, выгружать в dt, объяснять почему долго, если кратко, то при потери соединения с сервером надо максимально быстро развернуть базу на локальном компе. Но суть не в dt, может кому пригодится методы завершения сеансов и управлением блокировкой регл. заданий без доступа к консоли сервера 1с
svbel85; KilloN; starik-2005; Алексей_mir2mb; +4 Ответить
4. Sedaiko 572 18.04.20 11:11 Сейчас в теме
(3) Под "потерей соединения" подразумевается "пришел ОБЭП и все забрал"?
5. karamazoff 95 18.04.20 11:18 Сейчас в теме
(4)в данном случае, иное, но похоже, скажем, сервер удаленный и физического доступа к нему нет. Опять же не суть зачем надо, задачу ставил заказчик, ему было надо именно так, резервное копирование средствами postgres тоже никто не отменял, это был дублирующий процесс
8. o4karek 19.04.20 10:49 Сейчас в теме
(3) Я-бы на месте автора все-таки иногда пробовал восстановить эту ИБ. Иначе когда наступит "день Ч" - внезапно может случится сююрприииз.
Ну и куда проще - восстановить к/с базу из бэкапа скуля? Из dt будет восстанавливаться дольше...
9. karamazoff 95 19.04.20 10:51 Сейчас в теме
(8)базы периодически, около раза в неделю, восстанавливаются из dt на локальные компы проблем не было ни разу
Алексей_mir2mb; +1 Ответить
11. o4karek 19.04.20 11:02 Сейчас в теме
(9) ну удачи :)
Все-таки в мире много странных людей... Вендор говорит: dt - это не бэкап, dt - это не всегда восстановится. Для к/с - бэкап делается только средствами СУБД (это просто и быстро и не надо никого никуда выгонять)..
Но нет, народ регулярно ходит полю с граблями :)
dammit666; GreenDragon; +2 1 Ответить
12. karamazoff 95 19.04.20 11:17 Сейчас в теме
(11)я же в (5) написал для чего это, и то что резерв через sql тоже производится, ну и, например, еще - на сервере не включена отладка и для разработки надо делать файловую бд..
ural8; Алексей_mir2mb; KilloN; +3 Ответить
23. nomad_irk 71 20.04.20 09:25 Сейчас в теме
(12)А поднять рядом с рабочим тестовый сервер 1С, никак?
15. user1253944 20.04.20 07:54 Сейчас в теме
(1)
Ибо сохрание бэкапов в *.dt - это самоубийство!

Хочу поинтересоваться Вашим мнением, а как надо делать бэкапы из 1С? Из файловой и к/с версий? Для долговременного хранения? С проверкой целостности данных?
Вопрос без подвохов, мне действительно интересно
16. Sedaiko 572 20.04.20 08:20 Сейчас в теме
(15) В клиент-серверной версии - средствами СУБД (например, в PostgreSQL утилитой pg_dump)
В файловой - копированием файла 1cv8.1cd или каталога базы с последующим сжатием тем же zip. Скриптов куча. Можно запилить еще проверку контрольной суммы.
18. user1253944 20.04.20 08:27 Сейчас в теме
(16)Спасибо.
Хотя любители постгресса почему-то не любят pg_dump, но альтернативы ему в разрезе долговременного хранения я не видел.
С файловой тоже всё ожидаемо, даже немного стыдно за заданный вопрос.
19. Sedaiko 572 20.04.20 08:30 Сейчас в теме
(18) Ну pg_dump - это самый простой вариант. Причем с него базу можно потом развернуть на другой версии PG
20. user1253944 20.04.20 08:36 Сейчас в теме
(19)
(19)
Причем с него базу можно потом развернуть на другой версии PG
Именно. Если по каким-то регламентам требуется хранить архив долго, то это надо обязательно учитывать.
21. o4karek 20.04.20 09:05 Сейчас в теме
(15) Файловый вариант - копирование файла 1cv8.1cd
К/С вариант - резервное копирование средствами СУБД
Периодически проводить проверку восстанавливаемости резервной копии.
14. GreenDragon 19.04.20 18:16 Сейчас в теме
(3) Ок. Сделали вы этот "не бекап" ночью. База упала в 17:00. Что делать пользователям с работой, сделанной за день? Повторять в вашей локальной копии? Или вы процессы рубите регулярно раз в час?
6. webester 26 19.04.20 04:33 Сейчас в теме
Если неохота для этого держать отдельную базу 1С используйте 1Script писать можно на языке 1С и скомпилировать exe который можно запускать планировщик
33. GreenDragon 21.04.20 11:03 Сейчас в теме
(6) Обучения чему? Как не стоит делать? Или уточнение вопроса - когда можно это делать? Автору спасибо за то, что диалог ведёт, хотя и несколько агрессивно.
Тут в комментариях упоминали oscript. Вот в него новичкам и стоило бы "воткнуться". https://github.com/oscript-library/irac Вот вам "на 1С без 1С". Скомпилил и запускай. Хоть под win, хоть по linux.
37. karamazoff 95 21.04.20 20:47 Сейчас в теме
(33)вот, судя по профилю, вы на форуме 13 лет, и у вас нет ни одной публикации. Сделайте свою публикацию с идеальным бэкапом, продолжим беседу там, буду ждать :)
38. GreenDragon 21.04.20 21:00 Сейчас в теме
(37) У меня нет желания писать статьи именно по pg. Тем более, что их более чем достаточно. У меня даже в принципе не возникало желания написать какую-либо статью.
Про сообщения не совсем понял - вы решили, что я за всё время на форуме оставил комментарии только к этой статье? Это скорее вопрос к ТП ресурса, так как ваше мнение не верно.
7. GreenDragon 19.04.20 08:09 Сейчас в теме
Каждый год одно и то же... Появляется очередной "внедренец" использующий слова backup и dt в одном предложении. И все как один твердят о некоем мистическом заказчике, которому было надо... Автор, вот честно - тебе не стыдно вот это на всеобщее обозрение?
10. karamazoff 95 19.04.20 11:00 Сейчас в теме
(7)мне не стыдно, если я в названии заменю Резервную копию на выгрузку - все кардинально измениться? по поводу ситуаций, когда это надо, даже обсуждать не буду, раз у вас заказчик мистический то и задачу он ставит мифическую. В этой процедуре, кроме процесса выгрузки, которая наименее интересна, поскольку это просто командная строка windiws,зато есть рабочие примеры управления консолью сервера 1С через com, и суть больше в них, а выгрузка dt, это частный случай, вместо него можно вставить что угодно.
Здесь никак не обсуждается, является ли dt резервной копией, поскольку это не важно.
AlexK_2012; mistertolik; aljir; gustpa; swenzik; Алексей_mir2mb; KilloN; Kuzya_brаtsk; +8 Ответить
13. GreenDragon 19.04.20 18:04 Сейчас в теме
(10) Задача какая была? dt поиметь? Ок. Для чего завершать фоновые процессы? А если там что-то работает? Вообще, задачи подобного класса решаются через бекапы. В 4 незатейливых действия:
1. Снять sql бекап.
2. Развернуть бекап во временную базу.
3. Снять dt с временной базы.
4. Удалить временную базу.

Вы такие dt можете получать хоть каждые n-дцать минут без завершения чьего-либо сеанса. Без COM.
Вариант номер 2 (позатейливей):
1. Держим сервер 1C c pg на отдельной железке установленными, либо в виде docker-контейнеров.
2. Резервную базу держим в "горячем" состоянии, разворачивая регулярно туда базовые копии и держа наготове WAL с основного сервера.
3. В случае наступления "аварии", используем самый свежий wal, актуализируя наш резерв.
4. Снимаем dt

Ещё раз повторяю - ИМХО, вы родили откровенный стыд для 2020 года.

P.S. А ещё, ваше решение только для сервера 1с на win.
user1301072; Kuzya_brаtsk; Kolunya; +3 2 Ответить
17. Sedaiko 572 20.04.20 08:26 Сейчас в теме
(13) с 14-ой платформы можно dt на горячую снимать. Я так и поступил- иногда нужны актуальные базы для разработки и поисков ошибок.
24. GreenDragon 21.04.20 00:13 Сейчас в теме
(17) Вот это кстати ценная информация - был не в курсе. А что с целостностью данных в таком случае?
25. Sedaiko 572 21.04.20 00:53 Сейчас в теме
(24) Да вот хз. На практике пока не встречал проблем. Хотя в теории тоже быть не должно. Во всяком случае, для моих целей, это не критично
26. GreenDragon 21.04.20 03:28 Сейчас в теме
(25) Это хорошо, когда база не 600+ гиг )))
27. Sedaiko 572 21.04.20 08:34 Сейчас в теме
(26) Когда база на 600+гиг и пользователей за 100, то систему нужно строить по другому. Минимум две зоны - продукционная и подготовительная. См., например, "Методическое пособие по эксплуатации крупных информационных систем на платформе «1С:Предприятие 8»"
28. GreenDragon 21.04.20 08:40 Сейчас в теме
(27) Я и не спорю. Я вашу рекомендацию ещё могу дополнить как минимум дымовыми тестами - Vanessa в помощь. У нас базы разработческие выгружать в dt бессмысленно - база более 600 гиг. Обновляем через скульные бекапы.
41. asved.ru 36 23.04.20 07:41 Сейчас в теме
43. Sedaiko 572 23.04.20 08:30 Сейчас в теме
(41) Маловероятно, что до 16-й дотянула
40. gaglo 22.04.20 09:24 Сейчас в теме
(10)
если я в названии заменю Резервную копию на выгрузку - все кардинально измениться?

Вот, похоже, изменилось! Утихли горячие местные парни!
Докину и свой вариант, когда понадобится описанное в статье.
Предположим, что рабочие базы на MS SQL (Win Server), а для тестирования и разработки - Postgres под Linux.
И как перенести относительно свежий вариант рабочей базы в тестировочную? Если не выгрузкой в dt?
И да, конечно, это не бэкап. Не резервная копия.
И да, возможно, таких ситуаций немного. Но есть.
KilloN; AlexK_2012; +2 Ответить
30. NeSPEC 41 21.04.20 09:23 Сейчас в теме
Добрый день всем.
Куча разных комментариев крутых гуру от программирования.
Нет бы сказать автору просто спасибо за то, что если не вам, то начинающим
автор выложил вполне симпатичный код для разборки и обучения что и как можно делать.
GIZmo; wolder; ixijixi; KilloN; AlexK_2012; user1253944; +6 Ответить
34. gucci76 364 21.04.20 11:51 Сейчас в теме
(30) Поддержу.
Тем более как специалисту по ЗУП мне очень важно бывает иметь копию какой то давности, чтобы разобраться "почему раньше так считало, а сейчас по другому". Версионирование не всегда помогает. А вот dt-шник восстановить и сравнить самое простое решение. Тем более не все клиентов дают доступ к SQL и 1С серверам (там назначены свои специалисты), а архив с dt-шками могут запросто расшарить.
35. starik-2005 3033 21.04.20 19:56 Сейчас в теме
(34)
как специалисту по ЗУП мне очень важно бывает иметь копию какой то давности, чтобы разобраться "почему раньше так считало, а сейчас по другому". Версионирование не всегда помогает. А вот dt-шник восстановить и сравнить самое простое решение
Я тут как раз бэкап и развертывание копии базы постгреса описывал, но в линухе это проще - достаточно крон настроить и скормить ему скрипты, а pg_dump'у файл с паролем. И как-то игрался с развертыванием баз - благо дата есть в имени файла - искал проблемку с изменением.
36. VPanin56 528 21.04.20 20:19 Сейчас в теме
А чем Effector saver не устраивает ?
Он умеет бекапы с серверных баз делать и в виде выгрузок dt и в виде SQL бекапов
49. ixijixi 1775 15.04.22 08:26 Сейчас в теме
(36) Он не умеет выгонять пользаков (в бесплатной версии я имею в виду)
45. kosmo0 107 23.04.20 19:42 Сейчас в теме
Эх, видимо счастливый человек этот автор. Простой код, никаких проверок и все работает без сучка и задоринки. А если вдруг не произойдет выгрузка (например тупо места нет на диске) то через какое время это будет заметно?
46. karamazoff 95 23.05.20 12:07 Сейчас в теме
(45)завидуйте, завидуйте :) лог файлы на почту уходят...
47. Darklight 32 24.11.20 16:52 Сейчас в теме
Уже можно выгружать в dt без отключения пользователей.... сгодится для быстрого снятия тестовой копии в рабочее время. В остальных случаях, включая резервное копирование - лучше делать это средствами СУБД
48. bagrintsev 05.04.21 19:49 Сейчас в теме
Столько разговоров о том, можно ли бекапить в .dt или нельзя, но никто не говорит как нужно делать правильно.

Как сделать бекап на постгрестном 1С средствами постгреса?

Только не надо рассказывать о pg_dump, который что-то дампит, но не все, так что потом из того, что он сдампил, базу если и соберешь назад, то не всю, не всегда и с ошибками.
И только потом загуглив, узнаешь, что типа какие-то особо хитрые таблицы pg_dump не может задампить или он задампил, но только часть, а мне об этом не сказал.
С .dt таких проблем сколько не бекаплю не было.
GIZmo; wolder; Pawlick; ixijixi; +4 Ответить
50. Fold 15.12.22 13:17 Сейчас в теме
(48)

А поподробней можно с этого места? Что pg_dump не выгружает?
Оставьте свое сообщение