Как делать бекапы postgres в docker контейнере

Мне нужно было как-то делать бекапы постгрес который находится в докере. 

0 8 * * * docker-compose exec database pg_dump -O -F p -U dbname > /root/backups/dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
Для этого я написал такой крон таск который сохраняет в директорию /root/backups sql дамп базы данных. Такой скрипт подходит только для средних проектов, размер БД которых не больше 10 гигабайт, иначе всё будет тормозить. Если размер БД огромный, то придётся записывать сразу в файл, и закидывать на хост через волюм. Но в большинстве случаев подобный скрипт отлично работает.

Для его установки нужно написать crontab -e, и в редакторе ввести код приведённый выше. "0 8 * * *" означает каждые 8 часов. Вы можете сгенерировать кастомный интервал через сервис https://crontab.guru/.

Комментарии

Популярные сообщения из этого блога

DOS атака при помощи Python

Ведем телеграм канал через питон

Django migrations не видит изменения моделей