Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux

Для чего необходимо настраивать непрерывное архивирование базы данных?
Для того, чтобы:
- иметь возможность восстанавливать копию базы данных на произвольный момент времени.
- в случае сбоя не терять драгоценные часы данных.
1. Знакомимся с каталогами хранения данных и бэкапов.
2. Настраиваем очистку устаревших файлов бэкапов.
3. Устанавливаем параметры непрерывного архивирования PostgresPro 11.
4. Включаем непрерывное архивирование.
Описание дается для ОС CentOS 7.8.Описание дается для ОС CentOS 7.8.
Знакомимся с каталогами хранения данных и бэкапов.
Каталоги кластера СУБД PostgresPro:
/pgpro/db/ — каталог кластера;
/pgpro/db/pg_wal/ — каталог wal-логов кластера;
Каталоги бэкапов кластера СУБД PostgresPro:
/pgpro/backup/day/ — каталог полного бэкапа кластера;
/pg_log_arch/day/ — каталог дневного бэкапа wal-логов;
/pg_log_arch/archive/ — каталог архивов бэкапов wal-логов.
Данные каталоги предварительно создаем и монтируем.
Настраиваем очистку устаревших файлов бэкапов PostgresPro 11.
Для настройки понадобится два скрипта:
-
backup_prod.sh
-
backup_wal_archive.sh.
Скрипт удаления старого и формирования нового полного бэкапа кластера backup_prod.sh следующего содержания:
1 2 3 |
rm –f /pgpro/backup/day/* /opt/pgpro/ent-11/bin/pg_basebackup –D /pgpro/backup/day –z -Ft |
Удаляет предыдущий полный бэкап.
Создает новый полный бэкап.
Скрипт архивирования удаления старых логов backup_wal_archive.sh следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 |
last_file="/pg_log_arch/archive/archive-2.tar.gz" current_file="/pg_log_arch/archive/archive-1.tar.gz" log_file="/var/log/wal_archive/pg_log_archive.log" test –f $last_file && rm $last_file && echo "$(data): delte last file $last_file" >> $log_file test –f $current_file && mv $current_file $last_file && echo "$(data): move $current_file to $last_file" >> $log_file tar –czvf $current_file /pg_log_arch/day/* --remove-files && echo "$(data): current archive created" >> $log_file |
Удаляет самый крайний по времени архив wal-логов.
Перемещает предыдущий архив wal-логов на место удаленного самого крайнего по времени архива wal-логов.
Архивирует актуальный wal-логи.
где
last_file=”/pg_log_arch/archive/archive-2.tar.gz” – архив крайнего по времени файла wal-логов.
current_file=”/pg_log_arch/archive/archive-1.tar.gz” – архив актуальных wal-логов.
log_file=”/var/log/wal_archive/pg_log_archive.log” – путь к логам данного скрипта.
Итак,
1. Разместим скрипты backup_prod.sh и backup_wal_archive.sh в каталоге.
1 |
/pgpro/scripts. |
2. Авторизуемся под суперпользователем.
1 |
sudo su root |
3. Добавим права на исполнение скриптов.
1 2 3 |
chmod +x /pgpro/scripts/backup_prod.sh chmod +x /pgpro/scripts/backup_wal_archive.sh |
4. Настроим выполнение скриптов в cron.
1 |
crontab -e |
Следующим образом:
1 2 3 |
0 2 * * * /pgpro/scripts/backup_prod.sh 0 3 * * * /pgpro/scripts/backup_wal_archive.sh. |
5. Проверим настройку в cron.
1 |
crontab -l |
Устанавливаем параметры непрерывного архивирования PostgresPro 11.
1. Авторизуемся под postgres
1 |
sudo su - postgres |
2. Подключимся к psql
1 |
psql |
3. Выполним установку параметров.
1 2 3 |
ALTER SYSTEM SET archive_mode = 'on'; ALTER SYSTEM SET archive_command = 'test ! –f /pg_log_arch/day/%f && cp %p /pg_log_arch/day/%f' |
Включает архивирование.
Устанавливает команду архивирования:
Проверяет, если нет файла в каталоге wal-логов, тогда копирует в этот каталог wal-логи.
4. Выходим из psql
Включаем непрерывное архивирование PostgresPro 11.
1. Авторизуемся под postgres
1 |
sudo su - postgres |
2. Остановим кластер СУБД
1 |
pg_ctl stop |
3. Проверим
1 |
cat /pgpro/db/postgresql.auto.conf |
4. Запускаем кластер СУБД
1 |
pg_ctl start |
Еще можно посмотреть
Ошибки на клиенте при подключении к серверу 1С на Linux. Часть 1
Рассмотрены ошибки при подключении к серверу 1С на Linux. Изложена методика поиска причин и путей их исправления
Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Ошибка СУБД: Продолжение сообщения может быть различным: 1. DATABASE не пригоден для использования 2. ERROR: type «tt7» already exists 3. ERROR: could not read block DATABASE не пригоден для использования Пример полного текста ошибки: [crayon-67e300e300794249760945/] Описание ошибки: База не запускается после установки и создания. Решения: Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно […]
Публикация 1С на Веб сервере Apache Linux
Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.
НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
Помимо анализа планов и запросов СУБД в технологическом журнале 1С, также бывает полезным анализировать статистику по запросам в pg_profiler. Тем более, что она уже собирается в сгруппированном по запросам виде. Ниже приведем инструкцию по его настройке. 1. Инсталляция и настройка pg_profile. 2. Настройка отображения pg_profile через веб-сервер apache. Инсталляция и настройка pg_profile. 1. Скачаем pg_profile […]
Утилита ring license для 1С версии 8.3.14 и выше под Linux
Для чего нужен 1C ring license? На текущий момент широко распространено использование программных лицензий. И системы на базе 1С в этом не исключение. Но, помимо простой активации пин-кодов, программная лицензия 1С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Установка PostgreSQL для 1С на Linux
Пошаговый процесс установки СУБД PostgreSQL для 1С на Linux сервер.
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- Расследование конфликтов управляемых блокировок (TTIMEOUT) 1С:Предприятия
- Что такое PG_TEMP в PostgreSQL для 1С
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Пропажа индексов дескрипторов в 1С:Документообороте
- Технологический журнал 1С и бесконечный цикл в коде 1С
- 1C тормозит и возникают ошибки. С чего начать расследование?