postgresql
Резервный сценарий для производственной БД
Поиск…
Синтаксис
- Сценарий позволяет создать резервный каталог для каждого исполнения со следующим синтаксисом: Имя каталога резервного копирования базы данных + дата и время выполнения
- Пример: prodDir22-11-2016-19h55
- После его создания он создает два файла резервной копии со следующим синтаксисом: Имя базы данных + дата и время выполнения
- Пример :
- dbprod22-11-2016-19h55.backup (файл дампа)
- dbprod22-11-2016-19h55.sql (файл sql)
- В конце одного исполнения в 22-11-2016 гг. В 19 ч. 55 г. мы получаем:
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
параметры
параметр | подробности |
---|---|
save_db | Основной каталог резервного копирования |
dbProd | Каталог вторичной резервной копии |
ДАТА | Дата резервного копирования в указанном формате |
dbprod | Имя сохраняемой базы данных |
/opt/postgres/9.0/bin/pg_dump | Путь к бинарнику pg_dump |
-час | Указывает имя хоста на компьютере, на котором работает сервер. Пример: localhost |
-п | Задает порт TCP или локальное расширение файла сокета домена Unix, на котором сервер прослушивает подключения, пример 5432 |
-U | Имя пользователя для подключения. |
замечания
- Если есть инструмент резервного копирования, такой как HDPS или Symantec Backup , ... Перед каждым запуском необходимо освободить каталог резервного копирования.
Во избежание загромождения инструмента резервного копирования, поскольку предполагается, что резервная копия старых файлов будет выполнена.
Чтобы включить эту функцию, пожалуйста, удалите строку № 3.
rm -R / save_db / *
- В случае, когда бюджет не позволяет использовать инструмент резервного копирования, всегда можно использовать планировщик задач ( команда cron ).
Следующая команда используется для редактирования таблицы cron для текущего пользователя.
crontab -e
Запланируйте запуск сценария с календарем в 11 часов.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
В общем, мы пытаемся создать резервную копию базы данных с клиентом pgAdmin. Ниже приведен сценарий sh, используемый для сохранения базы данных (под Linux) в двух форматах:
Файл SQL : для возможного возобновления данных в любой версии PostgreSQL.
Файл дампа : для более высокой версии, чем текущая версия.
#!/bin/sh
cd /save_db
#rm -R /save_db/*
DATE=$(date +%d-%m-%Y-%Hh%M)
echo -e "Sauvegarde de la base du ${DATE}"
mkdir prodDir${DATE}
cd prodDir${DATE}
#dump file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -w -v -f "dbprod${DATE}.backup" dbprod
#SQL file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres --format plain --verbose -f "dbprod${DATE}.sql" dbprod
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow