Для создания бэкапов базы данных перед обновлением можно использовать несколько способов:
./dump.sh -p /opt/dppm/postgres_dump
docker exec postgres /bin/bash -c "export PGPASSWORD=planr && pg_dump -U planr planr" | gzip -9 > planr_latest.sql.gz ls -lha
Настройка бекапов по расписанию
Для созданию бекапов по расписанию необходимо добавить скрипт dump.sh в таблицу исполнения скриптов по расписанию crontab. Параметры запуска скрипта можно посмотреть, выполнив ./dump.sh -h.
Пример использования скрипта в crontab приведен ниже. В данном случае скрипт выполняется каждую ночь в 3:00, делает бэкап в директорию /opt/dppm/postgres_dump/ с периодом ротации 14 (Это означает что в папке всегда будет хранится 14 актуальных бэкапов) и количеством файлов, которые не удалятся в любом случаи – 5.
Восстановление базы данных из бекапа
Для восстановления базы данных из бэкапа используем скрипт ./restore.sh. Пример использования скрипта по восстановлению базы данных из бэкапа представлен на рисунке ниже.