Архивация информационной базы в формате dt для ОС Linux

18.09.22

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

Реализация сценария резервного копирования информационных баз в формате dt для ОС Linux на примере Ubuntu 20.04 в клиент-серверном варианте для командной оболочки bash.

Скачать исходный код

Наименование Файл Версия Размер
backupib.sh
.sh 1,99Kb
9
.sh 1,99Kb 9 Скачать

Обеспечение резервного копирования ИБ может быть реализовано разными способами:

1. Копирование кластера средствами СУБД, например PostgreSQL.

Достоинством является простота реализации. Недостатки тоже есть, и это:

  • невозможность быстрого восстановления
  • невозможность восстановления на других СУБД
  • невозможность простым способом восстановить конкретную ИБ кластера
  • относительно большой размер

2. Формирование выгрузки в формате dt средствами платформы.

Достоинством является простота восстановления на любой СУБД и минимальный размер. Недостатками - бОльшая сложность реализации.

Прилагаемый сценарий предлагает реализацию по второму варианту и предполагает автоматическое архивирование с использованием штатного cron и тут есть момент: для выгрузки требуется наличие X-сессии т.к. выполняется запуск конфигуратора. Демон cron выполняется под пользователем root и у него не существует X-сессии но можно использовать сессию другого пользователя, для этого:

1. Определяем пользователя ОС с Х-сессией. В примере это пользователь borodin.

2. Копируем файл .Xauthority в домашнем каталоге пользователя borodin пользователю root

sudo cp ~/.Xauthority /root

3. Для того, чтобы при включении ПК происходил автологин пользователя borodin и создавалась X-сессия, необходимо отредактировать файл /etc/lightdm/lightdm.conf.d/50-myconfig.conf до вида:

[Seat:*]
autologin-guest=false
autologin-user=borodin
autologin-user-timeout=0

Если файл отсутствует, то его надо создать.

4. Поместить прилагаемый сценарий в обработку демона cron, например, добавить запись в файл /etc/crontab.

Сценарий предполагает:

  • платформа 1С:Предприятия установлена одной версии и находится в каталоге /opt/1cv8/x86_64;
  • кластер один;
  • в каждой ИБ существует пользователь с именем и паролем определяемым переменными $USER и $PASSWORD с правом на административные действия;
  • переменной $BACKUPDIR определяется каталог с архивами;
  • выгрузки формируются для всех ИБ в создаваемом каталоге ГГГГ-ММ-ДД-чч-мм;
  • перед выгрузкой перезапускается сервис srv1cv83 и блокируются регламентные задания;
  • после выгрузки регламентные задания включаются для всех ИБ.

Тестирование выполнялось на платформе: 8.3.19. Архитектура x86_64.

Выполнять следует под пользователем root.

Обновление:

По поводу Х-сессии: можно использовать виртуальную - xvfb (Virtual Framebuffer 'fake' X server), для чего

1. Создать файл Xvfb.service с содержимым

Description=X Virtual Frame Buffer Service
After=network.target
[Service]
ExecStart=/usr/bin/Xvfb :99 -screen 0 800x600x24 -shmem
[Install]
WantedBy=multi-user.target

в каталоге /etc/systemd/system где 99 это номер дисплея.

2. Активировать сервис

chmod +x /etc/systemd/system/Xvfb.service
systemctl enable Xvfb.service
systemctl start Xvfb.service

3. Проверить работу сервиса

service Xvfb status

4. В заголовке файла backupib.sh исправить номер дисплея на указанный в файле Xvfb.service

 

Обновление:

добавлена переменная EXCLUDE в которой можно задать массив имен ИБ в кластере для исключения их из архивации.

 

архивация linux bash

См. также

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

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

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

21600 руб.

15.05.2017    42678    10    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14850    15    6    

19

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    70303    622    44    

80

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    6377    n_mezentsev    15    

27

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

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

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

07.10.2022    20796    sapervodichka    36    

143

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4836    2    Gnom-Gluck    6    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 141 27.02.22 08:21 Сейчас в теме
фирма 1С рекомендует.
"Резервную копию можно создать:
при использовании файлового варианта 1С:Предприятия 8 путем копирования файла 1СV8.1CD в отдельный каталог;
при использовании клиент-серверного варианта 1С:Предприятия 8 средствами СУБД."
2. masterb 60 27.02.22 12:00 Сейчас в теме
Я в курсе, про это написано в руководстве администратора клиент-серверного варианта. Мой сценарий позволяет выгрузить все ИБ по отдельным файлам dt из которого можно легко хоть файловый вариант сделать, хоть в иную СУБД восстановить с минимальными временными затратами.
Также его можно использовать для реализации групповых операций с ИБ, например - тестирование и исправление.
3. Бэнни 204 01.03.22 12:34 Сейчас в теме
(2) спорно, восстановление файловой из серверного dt это кот в мешке. Нужно проверять CF и приводить типы, длинные индексы вычищать. Делать dt и в лоб его пытаться развернуть это не универсальное решение и точно без каких либо гарантий. И да, поддержу юзера из (1) dt это не бекап, если не нравится размер нормальных бекапов то просто зипани их, отдавать сохранность своих данных на откуп распаковщику 1С это очень опасный путь.
4. masterb 60 02.03.22 09:34 Сейчас в теме
(3) Естественно это не универсальное решение. Как минимум, на сервере может и не быть графического сервера вовсе. Тем не менее, как бы не копируй ИБ, если она кривая то таковой и останется. Но соглашусь, резервное копирование путем копирования будь то файла ИБ или кластера будет надёжнее.
5. МимохожийОднако 141 04.03.22 09:40 Сейчас в теме
(4) Так оно и есть. Но твоё решение конфликтует с этим правильным замечанием.
7. masterb 60 04.03.22 16:03 Сейчас в теме
(5) Такова жизнь, что теперь поделаешь.
6. strav 04.03.22 10:12 Сейчас в теме
1. Копирование кластера средствами СУБД, например PostgreSQL.

Достоинством является простота реализации. Недостатки тоже есть, и это:

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


Очень спорные высказывания
Необязательно делать копии целого кластера для резервного копирования.
Можно делать резервные копии конкретных баз средствами PostgreSQL и соответственно можно очень быстро простым способом восстановить конкретную ИБ кластера!
И размер резервной копии БД PostgreSQL будет идентичен размеру выгрузки 1С dt.
10. masterb 60 06.03.22 15:59 Сейчас в теме
(6) По размеру, разница 20% в пользу dt.
8. masterb 60 04.03.22 16:18 Сейчас в теме
Да что копирование это, лучше сообщите мне, почему после установки rphost загружает процессор по полной пока режим отладки не включишь?
9. МимохожийОднако 141 04.03.22 19:13 Сейчас в теме
(8) А это уже новый вопрос. Открой новую ветку. Глядишь, народ и подтянется.
Оставьте свое сообщение