Чем автоматизировать бэкап 1000 БД на нескольких серверах?



@RouR

Есть примерно 1000 БД на 2-3х серверах.
На каждую БД нужен отдельный, независимый бэкап: раз в неделю полный и инкрементный каждый час.
Каждый бэкап надо сначала зашифровать, потом положить в S3 (ну или отправить на другой сервер любым другим способом).
Параллельно, на другом сервере надо делать попытки восстановления и отправлять отчет об успехе/провале.
Нужно учитывать что каждый сервер, свои сотни БД, должен бэкапить последовательно (и не положить диски).

Если для одной БД ещё можно как-то с трудом настроить такую схему, то для 1000 нужна какая-то автоматизация. Как? Чем?


Решения вопроса 0


Ответы на вопрос 4



@ky0

для 1000 нужна какая-то автоматизация. Как? Чем?

В простейшем варианте — обыкновенным скриптом, который бы брал список баз и проходился по нему, архивируя каждую со своим паролем.

Но вообще — не очень понятен смысл сей деятельности. Не на ровном месте же у вас появилась тысяча баз? Если эти базы — не ваши, то есть каких-то клиентов, а вы являетесь хостером — ничто не мешает бэкапить всю СУБД одним куском, а при необходимости — вытаскивать из этого бэкапа только нужные базы/таблицы.



@Himura

Ansible



@Melkij

и инкрементный каждый час.

Такого нет.

Полновесный PitR (возможно с diff копиями для ускорения recovery, но только если уверены в этом стороннем механизме — нативно postgresql не поддерживает такую операцию) — снимается целиком с кластера, со всеми базами сразу. Соответственно пересматривайте требование к «На каждую БД нужен отдельный, независимый бэкап».

Под требование «На каждую БД нужен отдельный, независимый бэкап» — только pg_dump, что, соответственно, даст возможность восстанавливаться только на эту самую точку времени старта транзакции дампа.



@saboteur_kiev

баш скрипт с pg_dump
и все.

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

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