Назад | Перейти на главную страницу

Автоматическое резервное копирование postgres

Каков наилучший способ ежедневного автоматического резервного копирования базы данных Postgres в Linux?

Запустите pg_dumpall из cron.

Ты можешь использовать pg_dump как это:

$ pg_dump -h db_host -U user_name db_name > dump_file.sql

Сначала подумайте, чтобы установить .pgpass файл, содержащий пароли, которые будут использоваться, если для соединения требуется пароль. В этом файле должны быть строки следующего формата:

hostname:port:database:username:password

И каждое из первых четырех полей может быть буквальным значением или *, что соответствует чему угодно. Например: *:*:*:postgres:pg_password.

это .pgpass файл должен находиться в домашнем каталоге ~ /, а права доступа к нему должны запрещать любой доступ к миру или группе; добиться этого с помощью команды chmod 0600 ~/.pgpass.

Пытаться AutoPostgreSQLBackup. Это один файл сценария, который можно легко настроить в соответствии с вашими потребностями, он выполняет ежедневное, еженедельное и ежемесячное планирование, ведет журнал по электронной почте, файл журнала или стандартный вывод и т. Д.

Если это достаточно маленькая база данных и такие низкие требования к резервному копированию, как только один раз в день, просто запустите pg_dump из cron для дампа в локальный файл, а затем используйте все, что у вас есть, для резервного копирования файлов на машине, чтобы заархивировать дамп. .

pg_rman это новый инструмент, предлагающий инкрементное резервное копирование, которое работает для PostgreSQL 8.4 или новее.

Пытаться безопасен для каракулей. Он знает, как сделать резервную копию mysql (mysqldump), postgres (pg_dump) или просто файлов (tar) с шифрованием (gnupg) и загрузить в S3 / Sftp.

pg_dump - хорошее решение, но если вы пытаетесь сделать резервную копию большого количества данных, возможно, это может помочь:

http://www.postgresql.org/docs/8.1/static/backup-online.html

что на самом деле является своего рода «сырым» журналированием, но оно может быть полезно в качестве метода инкрементного резервного копирования ...

Это сценарий, который будет создавать резервные копии каждой базы данных по отдельности, а также часто забываемых, но важных PostgreSQL GLOBALS и информации для входа в систему.

Важность этого состоит в том, чтобы воспользоваться преимуществом сжатия, которое не обеспечивает pg_dumpall, и забытыми данными, которые игнорирует pg_dump.

Для этого потребуется pgpass или аналогичная настройка, как описано здесь http://wiki.postgresql.org/wiki/Pgpass

Это настройка для OSX, но просто измените пути к программе, и все будет нормально.

Резервное копирование в / sqlbackups Сценарий вернет размер каталога / directory и имеет точки останова, которые в случае сбоя вернут ненулевой статус. Я использовал его в сочетании с pgAgent для ежедневного резервного копирования.

Скрипт отредактирован, сожалею об этом :(

Зачем довольствоваться ежедневным резервным копированием, если вы легко можете восстановление на определенный момент времени с участием бармен?

Как говорили другие: pg_dumpall.

Также обратите внимание на доставку журналов. Затем вы можете получить больше резервных копий на определенный момент времени, которые вы можете воспроизвести: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html

Или как насчет раздела о резервных копиях в руководстве:

http://www.postgresql.org/docs/8.3/static/backup.html