8 апреля 2021 г.
7064

Создание базы, бэкап, восстановление базы 1С с СУБД PostgreSQL (CentOS)

Создание базы 1С через консоль управления кластером

Открыть консоль управления кластером 1С, затем в дереве открыть ⇒ Console Root ⇒ Центральный сервер 1С ⇒ Кластер ⇒ Информационные базы, нажать ПКМ ⇒ Создать ⇒ Информационная база Регистрация консоли администрирования 1с

В открывшемся окне нужно ввести необходимые данные для создания или добавления уже созданной БД. При необходимости добавить уже существующую базу в кластер нужно не ставить галочку "Создать базу данных в случае ее отсутствия", если нужно создать базу - поставить галочку. В поле "Сервер баз данных" нужно указать адрес сервера на котором установлена СУБД, как установить PostgreSQL для работы с сервером 1с можно посмотреть по |ссылке| Создание базы через косоль администрирования 1с

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

Теперь нужно добавить базу в список информационных баз через клиентское приложение 1с как существующую базу.

Создание базы 1С через клиентское приложение

Для создания базы через клиент 1С нужно открыть клиент, нажать кнопку Добавить Создание базы 1с через клиент

Откроется окно в котором нужно выбрать создать базу или добавить существующую, если она была создана через консоль администрирования можно выбрать Добавление существующей базы, при этом нужо будет указать только сервер и имя базы. Создание базы 1с через клиент (создание или добавление)

Затем нужно выбрать как будет создана база из шаблона или с нуля Создание базы 1с через клиент (из шаблона или с нуля)

В этом окне указывается название базы, которое будет отображатся в списке клиента и выбирается где будет расположена база Создание базы 1с через клиент (название)

В этом окне указываются характеристики базы Создание базы 1с через клиент (характеристики)

В последнем окне указываются дополнительные параметры при необходимости Создание базы 1с через клиент (дополнительные параметры)

В файле ibases.v8i, который находится по пути
%AppData%\1C\1CEStart
Содержаться сведения о базах данных выводимые на клиенте, можно открыть этот файл как текстовый документ, скопировать оттуда сведения о вновь созданной бд и добавить их остальным клиентам.
Или можно сделать общий файл для всех клиентов, как это сделать описано |тут|

Создание базы в PostgreSQL бэкап и восстановление ее из dump с помощью pg_dump и pg_restore

Бэкап
Войти под пользователем postgres
sudo su - postgres
Бэкап с помощью pg_dump
pg_dump -Fc BASENAME > /DIR/BASENAME.dump
Восстановление
Войти под пользователем postgres
sudo su - postgres
Создать базу на основе пустого шаблона
createdb -T template0 BASENAME
Вывести список баз
psql -l
Восстановление базы из .dump
pg_restore -d BASENAME /DIR/BASENAME.dump

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

Автоматизация бэкапа

Можно сделать, чтоб бэкап создавался автоматически в определенное время для этого воспользуемся службой cron
Для создания скрипта создадим файл
touch /DIR/script-pg_dump
В этом файле введем команду для удаления бэкапов старше 30 дней и саму команду бэкапа
#!/bin/bash
find /DIR -mtime +30 -delete
pg_dump -Fc DBNAME > "/DIR/FILENAME--$(date +%Y-%m-%d_%H-%M).dump"
теперь нужно сделать файл исполняемым
chmod ugo+x script-pg_dump
Открыть конфигурационный файл cron
vim /etc/crontab
В открывшемся окне ввести время запуска, пользователя и путь
минуты часы 0 0 0 <пользователь> <путь к файлу скрипта>
52 13 * * * postgres /home/script-pg_dump
Лог cron можно посмотреть по пути
/var/log/cron
Также при ошибках могут приходить сообщения в
/var/spool/mail/root