Резервное копирование баз 1с postgresql linux

Новый ролик! Настройка резервного копирования в PostgreSQL

Хотите быть уверенными в том, что ваши информационные данные не исчезнут бесследно в случае системного сбоя? Тогда вам пригодится этот ролик!

В ролике специалист компании «Неосистемы Северо-Запад ЛТД» расскажет про настройку резервного копирования в PostgreSQL в операционных системах Линукс и Windows .

Описание для Linux :

  1. Открываем в корневой к аталог PostgreSQL файл pg_hba.conf. по умолчанию для версии скачанной с release1C.ru это /etc/postgresql/12/main/pg_hba.conf
  2. Находим строку: local all postgres peer И меняем peer на trust, что бы получилось local all postgres trust
  3. Перезапускаем службу, что бы принять изменения. systemctl restart postgresql
  4. Теперь создаём скрипт с разрешением .sh и пишем туда следующий код: #!/bin/sh DATA=`date +»%Y-%m-%d»` database=Mondi_erp_ps_6 pg_dump -U postgres -d $database | gzip /backup/$DATA-$database.dump.gz /usr/bin/find /backup -type f -mtime +60 -exec rm -rf <> \;
  5. Сохраняем полученный скрипт, с расширением .sh, и разрешаем его запуск в качестве программы. Теперь вы можете запустить его и выполнить резервное копирование.

Настройка автоматического выполнения: crontab -e

И создаём задание следующем образом:

  1. Указываем минуту, час, день, месяц, и неделю выполнения
  2. Также указываем пользователя от имени которого должно выполняться задание, и путь до скрипта. [минута][час][день][месяц][неделя][пользователь][команда]

То есть, если мы хотим, чтобы наш скрипт выполнялся в 21 час 30 минут, каждый день, из-под пользователя root мы должны это указать следующим образом:

30 21 * * * root /home/aleksey/Documents/backup2.sh Сохраняем изменения, если сron не ругается, на проблемы с синтаксисом, значит мы сделали все правильно.

Восcтановление резервной копии

  1. Для восстановления бекапа, необходимо создать чистую базу и восстановить бекап в нее, иначе могут возникнуть ошибки — psql -U postgres test_base2 /backup/2021-09-04-test_base.dump
  2. После этого создаём новую базу на кластере 1С, и получаем работающий архив.

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

Создаем файл с расширением cmd, и содержимым — CHCP 1251 SET PGBIN=D:\Program Files\PostgreSQL\12.5-3.1C\bin SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=QWaszx12 SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% SET PGDATABASE=Test CALL «%PGBIN%\pg_dump.exe» —format=custom —verbose —file=C:\1c_backup\back\%PGDATABASE%_%DATETIME%.dump forfiles /p C:\1c_backup\ /m *.backup /s /d -29 /c «cmd /c del @path /q»

Читайте также:  Параметры системы linux mint

Сохраняем скрипт и добавляем его в планировщик заданий.

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

Для этого опять указываем параметры сервера postgresql — CHCP 1251 SET PGBIN=D:\Program Files\PostgreSQL\12.5-3.1C\bin SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=QWaszx12 CALL «%PGBIN%\pg_restore -d Buh C:\1c_backup\Buh.dump

Теперь также, как на Linux, создаём новую базу на кластере 1С, и получаем работающий архив.

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

Если у вас остались вопросы, звоните нам: 8 (8142) 67-21-20

00:00 Настройка резервного копирования в PostgreSQL

00:38 Зачем нужно резервное копирование

01:05 Настройка резервного копирования на Линукс

05:30 Настройка резервного копирования на Windows

Предлагаем Вам посмотреть ролики:

Источник

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

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

Регистрация консоли администрирования 1с

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

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

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

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

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

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

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

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

Создание базы 1с через клиент (создание или добавление)

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

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

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

Создание базы 1с через клиент (название)

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

Создание базы 1с через клиент (характеристики)

В этом окне указываются характеристики базы

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

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

Содержаться сведения о базах данных выводимые на клиенте, можно открыть этот файл как текстовый документ, скопировать оттуда сведения о вновь созданной бд и добавить их остальным клиентам.
Или можно сделать общий файл для всех клиентов, как это сделать описано |тут|

Читайте также:  Linux удалить файлы старее

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

pg_dump -Fc BASENAME > /DIR/BASENAME.dump
createdb -T template0 BASENAME
pg_restore -d BASENAME /DIR/BASENAME.dump

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

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

Можно сделать, чтоб бэкап создавался автоматически в определенное время для этого воспользуемся службой cron
Для создания скрипта создадим файл

#!/bin/bash find /DIR -mtime +30 -delete pg_dump -Fc DBNAME > "/DIR/FILENAME--$(date +%Y-%m-%d_%H-%M).dump"
минуты часы 0 0 0  52 13 * * * postgres /home/script-pg_dump

Источник

Простой бэкап базы 1С в postgreSQL

Дайте угадаю, Вы хотите поскорее скопировать команду при помощи, которой можно по-быстрому сделать бэкап базы 1С ?

Замечательно!

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

И что делать ? снова в путь по сайтам, форумам, телегам в поисках «почему не работает бэкап в PostgreSQL»

Нет, Коллега, имея дело из СУБД PostgreSQL 14, следует набраться немного терпения и как минимум прочитать внимательно несколько строк ниже.

Резервное копирование в PostgreSQL зависит от многих факторов:

  1. В какой операционной системе выполняем команду
  2. Как настроена безопасность на кластере СУБД
  3. Удаленное или локальное подключение к СУБД PostgreSQL 14.
  4. Какую программу мы используем для резервного копирования.

Конечно, в рамках одной статьи не разобрать все возможные варианты, поэтому мы возьмем за пример лишь пару классических случаев:

  1. База 1С на СУБД в дата центре – Ubuntu Server 22.04 LTS (Удаленно)
  2. База 1С у нас в локальном расположении (Windows Server 2022)

Сперва рассмотрим вариант №2, когда PostgreSQL на Windows Server 2022 в нашей локальной сети.

Доступ к СУБД у нас разрешен только из 127.0.0.1 (localhost) как и рекомендуется по безопасности, если Сервер 1С и СУБД PostgreSQL 14 у Вас находятся вместе на одном хосте.

Иначе в файле (файрволле постгреса pg_hba.conf) надо прописать IP, где у вас находится Сервер 1С, строка – пример: host all all 192.168.1.50/32 md5 вместо 127.0.0.1/32

Соответственно настройки в pg_hba.conf и postgresql.conf будут следующие:

1C_pg_hba.conf

1C_postgesql.conf

Обратите внимание на “стрелку” в pg_hba.conf

РЕКОМЕНДУЕТСЯ! Закомментировать ipv6 если вы используете ipv4

Если Сервер 1С у Вас на другом сервере (Хосте) , тогда в postgresql.conf в listen_addresses пишем IP который вы указываете на Сервере 1С для подключения к удаленному хосту, где работает PostgreSQL (например так: listen_addresses = ‘192.168.1.35’)

listen_addresses = ‘192.168.1.35’ это ip нашего сетевого IP интерфейса, который “слушает” наш PostgreSQL.

Читайте также:  Linux amazon s3 client

Другими словами 192.168.1.35 это IP на сервере СУБД PostgreSQL.

Подключившись например по RDP к нашему серверу (Windows Server 2022) из нашего ПК, мы запускаем CMD и выполним резервное копирование базы «BUX» на диск E:/BACKUP

(Скрипт мы выполняем в терминале, где и работает PostgreSQL 14 + Сервер 1С и располагаются базы 1С Предприятия 8.3.21)

Выполнять резервное копирование базы 1С мы будем самым простым и надежным способом, используя утилиту «pg_dump».

После установки СУБД PostgreSQL она поселилась у Вас в каталоге «Bin»:

13102022/pg_dump_1c

“C:\Program Files\PostgreSQL 1C\14\bin\pg_dump”

pg_dump это консольная программа, соответственно работать с ней мы будем в командной строке:

Источник

Инфраструктура. Как сделать резервное копирование нетиповых баз данных «‎1С» на PostgreSQL

Этот ролик о том, как на PostgreSQL сделать резервное копирование нетиповых баз данных «‎1С»‎

Чтобы избежать ошибки резервного копирования, связанной с размером данных в таблице Config, необходимо исключить из выгрузки данные таблицы config и выгрузить только ее схему.
Далее с помощью COPY WITH BINARY выгрузить уже данные таблицы.

Определяем размер таблицы Config. Если она превышает 512 Мб, то PG_Dump не сможет создать резервную копию.
Подключаемся к базе через терминал или открываем запросник в pgadmin и пишем в одну строку:
select pg_column_size(config.binarydata) from confiig order by 1 DESC limit 1;
Выполняем и получаем результат.
Значение выводится в байтах.

Скрипт резервного копирования на PostgreSQL:

# указываем Шебанг на баш
#!/bin/sh
#Задаем переменную на дату
DATA=`date +»%Y-%m-%d»`
#Задаем переменную на имя базы
database=Komp_Auto
#Задаем переменную на каталог резервного копирования
KATALOG=/backup/$DATA-$database
#Создаем резервную копию с исключением из выгрузки данных таблицы config
#pg_dump -U postgres —format=directory —jobs=4 —blobs —encoding UTF8 —verbose —exclude-table-data=config —file=$KATALOG $database
#Выгружаем таблицу Config
psql -U postgres —dbname=$database —command «\COPY public.config TO ‘$KATALOG/public.config.sql’ WITH BINARY;»

Скрипт Восстановления PostgreSQL :

Не забываем, что для корректного восстановления базы, загружать данные надо в пустую базу.
#!/bin/sh
#Задаем переменную на дату
DATA=`date +»%Y-%m-%d»`
#Задаем переменную на имя базы
database=Komp_Auto_Test
#Задаем переменную на каталог резервного копирования
KATALOG=/backup/$DATA-$database
#Восстанавливаем базу данных
pg_restore -U postgres —verbose —dbname=$database —jobs=4 $KATALOG
#Восстанавливаем данные в таблицу Config
psql -U postgres —dbname=$database —command «\COPY public.config FROM ‘$KATALOG/public.config.sql’ WITH BINARY;»

Предлагаем Вам посмотреть другие ролики:
Распаковочка. Установка сервера 1С:Предприятие и Postrge на операционную систему Linux
Как установить «1С» версии 8.3.21 на Ubuntu версии 22.04
Инфраструктура. Linux и Postgree достойная замена Microsoft

Таймкоды:
00:00:00 Вступление
00:00:26 По какой причине возникает ошибка выделения памяти
00:02:10 Проверка базы
00:03:04 Создание резервной копии
00:05:53 Восстановление резервной копии

Источник

Оцените статью
Adblock
detector