Postgresql резервное копирование pg_dumpall со сжатием

Postgresql резервное копирование pg_dumpall со сжатием

Коллеги всем привет.

В сегодняшней статье мы поговорим о резервном копировании базы данных в Postgresql со сжатием. В Postgresql за резервное копирование отвечает одна из утилит которая называется pg_dumpall. С помощью этой утилиты можно делать резервное копирование сразу всего кластера базы данных. Я вам буду показывать как сделать скрипт, и этот скрипт мы добавим в планировщик задач (crontab), чтобы резервное копирования выполнялось автоматически в указанное время.

 

Связанный статьи:

  1. Скачать и установить Postgresql 14 на Linux CentOS/RHEL 8/7 TAR
  2. Postgresql - Автоматический запуск базы данных

 

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

$. yum list installed | grep bzip2 

postgresql_backup

У меня он уже установлен.

Если у вас пакет bzip2 не установлен, то установить его можно с помощью команды:

$. yum install bzip2

 

Следующим шагом давайте создадим исполняемый файл в котором у нас будет лежать скрипт.

$. vim /home/postgres/postgresql_backup.sh

postgresql_backup

И в этот файл положим:

#Backup All Database
export PGPASSWORD='Qwerty1'
export PGHOME=/app/postgresql
export LD_LIBRARY_PATH=/app/postgresql/lib
export PGDATA=/app/postgresql/pgdatabase/data
export BACKUPDIR="/app/postgresql_backup"
export FILE_NAME="full_cluster_`date "+%Y_%m_%d"`"
export PATH=$PGHOME/bin:$PGDATA:$PATH
pg_dumpall --username=postgres --if-exists --clean --verbose | bzip2 > $BACKUPDIR/$FILE_NAME.sql.bz2

 

Следующим шагов назначим этому файлу необходимые права.

$. chmod +x postgresql_backup.sh

postgresql_backup

 

Последним шагом нам нужно добавить этот файл в планировщик задач (crontab), чтобы он выполнялся автоматически в указанное нами время.

$. crontab -e

postgresql_backup

Указываем когда я хочу чтобы мой файл со скриптом выполнялся.

30 23 * * * bash /home/postgres/admin_scripts/postgresql_backup.sh

postgresql_backup

Я указал чтобы мой скрипт выполнялся каждый день в 23:30.


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как узнать размер таблиц в базе данных
PostgreSQL - Как узнать размер таблиц в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как проверить привилегии пользователя
PostgreSQL - Как проверить привилегии пользователя
POSTGRESQL
Читать далее