Вы здесь

Бэкапирование (логическое) кластера баз

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

Вторая - бекапирование конфигурационных файлов.

find /var/backups -name "*.zip" -exec rm -R {} \;

pg_dumpall -v -U postgres -h 192.168.100.131 -p 5432 | gzip &> /var/backups/preprod-5432-`date +%Y%m%d`.zip;
pg_dumpall -g -v -U postgres -h 192.168.100.131 -p 5432 | gzip &> /var/backups/preprod-g-5432-`date +%Y%m%d`.zip;
pg_dumpall -v  -U postgres -h 10.10.9.22 -p 5432 | gzip &> /var/backups/prod-5432-`date +%Y%m%d`.zip;
pg_dumpall -g -v  -U postgres -h 10.10.9.22 -p 5432 | gzip &> /var/backups/prodi-g-5432-`date +%Y%m%d`.zip;
pg_dumpall -v  -U postgres -h 10.0.0.6 -p 5432 | gzip &> /var/backups/dmz-5432-`date +%Y%m%d`.zip;
pg_dumpall -g -v  -U postgres -h 10.0.0.6 -p 5432 | gzip &> /var/backups/dmz-g-5432-`date +%Y%m%d`.zip;
pg_dumpall -v -U postgres | gzip &> /var/backups/dev-5432-`date +%Y%m%d`.zip ;
pg_dumpall -g -v -U postgres | gzip &> /var/backups/dev-g-5432-`date +%Y%m%d`.zip ;
pg_dumpall -v  -h 192.168.100.108 -p 20100 -U postgres | gzip &> /var/backups/192.168.100.108-20100-`date +%Y%m%d`.zip;
pg_dumpall -v  -h 192.168.100.108 -p 20123 -U postgres | gzip &> /var/backups/192.168.100.108-20123-`date +%Y%m%d`.zip;
pg_dumpall -v  -h 192.168.100.108 -p 40124 -U postgres | gzip &> /var/backups/192.168.100.108-40124-`date +%Y%m%d`.zip;

ssh 10.0.0.6 cat /data/postgresql.conf /data/pg_hba.conf | gzip &> /var/backups/dmz-conf.zip
ssh 192.168.100.131 cat /var/lib/pgsql/9.6/data/postgresql.conf /var/lib/pgsql/9.6/data/pg_hba.conf | gzip &> /var/backups/preprod-conf.zip
ssh 10.10.9.22 cat /var/lib/pgsql/9.6/data/postgresql.conf /var/lib/pgsql/9.6/data/pg_hba.conf | gzip &> /var/backups/prod-conf.zip
ssh 10.10.9.16 cat /var/lib/pgsql/9.6/data/postgresql.conf /var/lib/pgsql/9.6/data/pg_hba.conf | gzip &> /var/backups/dev-conf.zip

Здесь сначала удаляются все старые архивы из папки /var/backups. Потом с помощью утилиты pg_dumpall создаются дампы бах данных кластеров. В названия файлов дампов включаются имена/ip сереверов и текущая дата. Затем с помощью команды ssh на удаленных серверах выполняются команды по архивированию файлов конфигурации PostgreSQL.

Восстановление кластера

cat /var/backups/database-5432/filename | psql database -U postgres

Базы[править | править вики-текст]

Бэкапирование отдельныйх баз (логическое) запускается так:

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

. /var/bat/backups_db.sh > /var/bat/backups_db_all.sh && . /var/bat/backups_db_all.sh &> /var/bat/backup_db_all.log

cat /var/bat/backups_db.sh
psql postgres  -U postgres -h 10.10.9.22 -p 5432 -f "/var/bat/backup_prod.sh";
psql postgres  -U postgres -h 10.10.9.16 -p 5432 -f "/var/bat/backup_dev.sh";
psql postgres  -U postgres -h 10.0.0.6 -p 5432 -f "/var/bat/backup_dmz.sh";
psql postgres  -U postgres -h 192.168.100.131 -p 5432 -f "/var/bat/backup_pre.sh";
psql postgres  -U postgres -h 192.168.100.108 -p 20100 -f "/var/bat/backup_pentaho.sh";

cat /var/bat/backup_prod.sh

cat /var/bat/backup_prod.sh
select 'pg_dump -v -U postgres -h 10.10.9.22 -p 5432 -d '||datname||' | gzip &> /var/backups/prod_'||datname||'-`date +%Y%m%d`.zip;' from pg_database where datname not like '%templ%';


cat /var/bat/backup_dev.sh
select 'pg_dump -v -U postgres -h 10.10.9.16 -p 5432 -d '||datname||' | gzip &> /var/backups/dev_'||datname||'-`date +%Y%m%d`.zip;' from pg_database where datname not like '%templ%';

cat /var/bat/backup_dmz.sh
select 'pg_dump -v -U postgres -h 10.0.0.6 -p 5432 -d '||datname||' | gzip &> /var/backups/dmz_'||datname||'-`date +%Y%m%d`.zip;' from pg_database where datname not like '%templ%';


cat /var/bat/backup_pre.sh
select 'pg_dump -v -U postgres -h 192.168.100.131 -p 5432 -d '||datname||' | gzip &> /var/backups/pre_'||datname||'-`date +%Y%m%d`.zip;' from pg_database where datname not like '%templ%';

Восстановление базы

cat /var/backups/dbname-filename | psql database -U postgres

Post new comment

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
13 + 2 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.