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

18.09.22

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

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

Скачать файлы

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

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

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

См. также

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

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

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

07.10.2022    16350    sapervodichka    34    

136

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

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

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

1 стартмани

25.08.2022    4231    1    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

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

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

1 стартмани

02.06.2022    3950    2    Giblarium    12    

5

Конфигурация 1С v.8, для резервного копирования клиент-серверных баз 1С v.8 в *.DT на внешний FTP сервер

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

Данная конфигурация, по времени, указанном в регламентном задании, проходит по заполненному в ней справочнику баз 1С, отключает пользователей и рабочие сеансы и выгружает в файл *.DT: локальную папку, сетевую папку или ftp сервер.

1 стартмани

22.04.2022    5008    22    FeDBuka    10    

6

Исправление ошибки плана обслуживания MS SQL

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

Частный случай решения ошибки выполнения планов обслуживания MS SQL.

20.08.2021    9692    TokarevV    5    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 140 27.02.22 08:21 Сейчас в теме
фирма 1С рекомендует.
"Резервную копию можно создать:
при использовании файлового варианта 1С:Предприятия 8 путем копирования файла 1СV8.1CD в отдельный каталог;
при использовании клиент-серверного варианта 1С:Предприятия 8 средствами СУБД."
2. masterb 60 27.02.22 12:00 Сейчас в теме
Я в курсе, про это написано в руководстве администратора клиент-серверного варианта. Мой сценарий позволяет выгрузить все ИБ по отдельным файлам dt из которого можно легко хоть файловый вариант сделать, хоть в иную СУБД восстановить с минимальными временными затратами.
Также его можно использовать для реализации групповых операций с ИБ, например - тестирование и исправление.
3. Бэнни 200 01.03.22 12:34 Сейчас в теме
(2) спорно, восстановление файловой из серверного dt это кот в мешке. Нужно проверять CF и приводить типы, длинные индексы вычищать. Делать dt и в лоб его пытаться развернуть это не универсальное решение и точно без каких либо гарантий. И да, поддержу юзера из (1) dt это не бекап, если не нравится размер нормальных бекапов то просто зипани их, отдавать сохранность своих данных на откуп распаковщику 1С это очень опасный путь.
4. masterb 60 02.03.22 09:34 Сейчас в теме
(3) Естественно это не универсальное решение. Как минимум, на сервере может и не быть графического сервера вовсе. Тем не менее, как бы не копируй ИБ, если она кривая то таковой и останется. Но соглашусь, резервное копирование путем копирования будь то файла ИБ или кластера будет надёжнее.
5. МимохожийОднако 140 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. МимохожийОднако 140 04.03.22 19:13 Сейчас в теме
(8) А это уже новый вопрос. Открой новую ветку. Глядишь, народ и подтянется.
Оставьте свое сообщение