1C postgresql резервные копии, регламентные операции и восстановление

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

/root/backup.sh

 

#!/bin/sh

# Устанавливаем дату
DATA=`date +"%Y-%m-%d_%H-%M"`

# Записываем информацию в лог с секундами
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start backup Cloud_ka_2" >> /root/service_bkp.log

# Бэкапим базу данных base1c и сразу сжимаем
/usr/bin/pg_dump -U postgres Cloud_KA_2 | pigz > /root/backup/$DATA-Cloud_KA_2.sql.gz

echo "`date +"%Y-%m-%d_%H-%M-%S"` End backup Cloud_ka_2" >> /root/service_bkp.log

sleep 2

# Записываем информацию в лог
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start vacuum Cloud_KA_2" >> /root/service_bkp.log
# Выполняем очистку и анализ базы данных
/usr/bin/vacuumdb --full --analyze --username postgres --dbname Cloud_KA_2
echo "`date +"%Y-%m-%d_%H-%M-%S"` End vacuum Cloud_KA_2" >> /root/service_bkp.log

sleep 2

echo "`date +"%Y-%m-%d_%H-%M-%S"` Start reindex Cloud_KA_2" >> /root/service_bkp.log
# Переиндексирвоать базу
/usr/bin/reindexdb --username postgres --dbname Cloud_KA_2
echo "`date +"%Y-%m-%d_%H-%M-%S"` End reindex Cloud_KA_2" >> /root/service_bkp.log


# Удаляем в папке с бэкапами архивы старше 7-х дней
/usr/bin/find /root/backup -type f -mtime +7 -exec rm -rf {} \;

Восстановление из бекапа в новую БД:

ls -la /root/backup

Выберем подходящий архив и разархивируем

unpigz -c /root/backup/2017-02-19_16-23-Cloud_KA_2.sql.gz > /root/backup/Cloud_KA_2.sql

Создаем новую базу базу

createdb --username postgres -T template0 Cloud_KA_2_restored

Заливаем в созданную базу

psql -U postgres Cloud_KA_2_restored < /root/backup/Cloud_KA_2.sql

p.s. для сжатия резервной копии используем pigz. На Centos ставится так

# yum -y install epel-release
# yum -y install pigz

по материалам

Бэкап и восстановление базы 1С в бд postgresql, обслуживание базы

 

Статья помогла? поддержите проект!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.