Postgresql резервне копіювання pg_dumpall зі стисненням

Postgresql резервне копіювання pg_dumpall зі стисненням

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

У сьогоднішній статті ми поговоримо про резервне копіювання бази даних у Postgresql зі стисненням. У Postgresql за резервне копіювання відповідає одна з утиліт, яка називається pg_dumpall. За допомогою цієї утиліти можна робити резервне копіювання відразу всього кластера бази даних. Я вам буде показувати як зробити скрипт, і цей скрипт ми додамо в планувальник завдань (crontab), щоб резервне копіювання виконувалося автоматично в зазначений час. /p>

 

Пов'язаний статті:

  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
Читати далі