LINUX.ORG.RU
ФорумAdmin

Есть самописная утилита для бэкапа Postgres'а

 ,


1

3

Моя, написана на BASH'е. Она развивается и будет развиваться, на мой взгляд вещь достойная и уж точно работает лучше и проще многократно того же barman'а. Умеет: делать базовый бэкап с пошаговым контролем всех этапов и подробными сообщениями с лог, работать в качестве archive_command, делать rotate бэкапов с pg_archive_cleanup'ом в конце (т.е. с удалением неактуальных wal-сегментов)
Если кому интересно, кину ссылку на github.
Очень хотелось бы дописывать вести разработку с кем-то на пару, но иллюзий на этот счёт у меня нет.

★★★★★

Ну так давай ссылку :)

tazhate ★★★★★
()

Ничто так не отворачивает пользователей как «выдам исходники по запросу».

true_admin ★★★★★
()

Интересно. Появится время, перепишу под оффтоп.

Deleted
()
Последнее исправление: rht (всего исправлений: 1)

https://github.com/DRVTiny/pgbackupsh/blob/master/kissobak.sh
Зависит от: https://github.com/DRVTiny/bash4-debug-infra, содержимое последнего должно найтись в /opt/scripts/functions

mkdir -p /opt/scripts
git clone git@github.com:DRVTiny/bash4-debug-infra.git /opt/scripts/functions
Примеры INI-конфигов найдутся в дистрибутивном комплекте, кидать их нужно в ~/.kissobak того пользователя, который делает бэкап.
Аутентификация - по ключам без пассфразы или с настроенным ssh-agent'ом. Лог по умолчанию пишет в /var/log/postgresql/backup.log Активно использует $HOSTNAME, полагая, что это нечто доступное с внешних хостов. Бэкапы пишет в /backup/postgresql/HOST/{base,wals}
В итоге должно работать вот так (просто пример, там ещё 3 вида команд):
./kissobak.sh base HOST

DRVTiny ★★★★★
() автор топика
Последнее исправление: DRVTiny (всего исправлений: 1)
Ответ на: комментарий от anonymous

Тем временем kissobak стал ещё круче, ещё стройнее и ещё умнее. Даже при том, что он всего лишь кис и немножко даже собак :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Ты бы детальнее с примерами расписал свой sobak. С примерами, чтобы понятно было даже идиоту зачем и почему ему нужен этот твой sobak. А то что-то не видно ажиотажа вокруг проекта.

anonymous
()
Ответ на: комментарий от anonymous

Базовый бэкап делается так:

kissobak base db-host.home.net
Количество копий базового бэкапа, хранимых одновременно, указывается в ini-шнике так:
[db-host.home.net]
...
n_base_backups = 3
...
Для того, чтобы подчистить лишние базовые бэкапы и соотв. им wal-сегменты, нужно сделать:
kissobak rotate db-host.home.net
Если без оглядки на n_base_backups необходимо удалить все базовые бэкапы и соотв. им сегменты wal за исключением последнего (самого свежего), то и это возможно:
kissobak rotate db-host.home.net tail
Для того, чтобы wal-сегменты сохранялись на сервере бэкапа, нужно в archive_command на стороне бэкап-сервера прописать:
/path/to/kissobak save_xlog %p

DRVTiny ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.