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

18.09.22

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
backupib.sh
.sh 1,99Kb
9
9 Скачать (1 SM) Купить за 1 850 руб.

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

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

См. также

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

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

6000 руб.

06.11.2012    72801    627    45    

85

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

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

1200 руб.

03.09.2014    15707    21    6    

27

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

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

04.12.2023    9444    n_mezentsev    15    

27

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

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

07.10.2022    28650    sapervodichka    37    

147

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

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

1 стартмани

25.08.2022    5737    3    Gnom-Gluck    6    

7

Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4692    3    Giblarium    12    

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

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

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


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