You are here: Foswiki>Gnumed Web>DatabaseBackupRestoreArchiveRu (14 Feb 2013, IvanLykov)EditAttach

Дополнительная скрытая и редко необходимая информация

Краткий обзор функций резервного копирования и восстановления postgres размещены на этом блоге.

Ниже находится устаревший пример сценария резервного копирования в GNUmed:

Резервное копирование

pg_dump и pg_dumpall являются программами для использования в командной строке.

параметрами для этих команд являются: -h имя узла, может быть 4-точечным числом inet -p порт для использования, если не 5432 по умолчанию; может понадобится, если запущен другой pg_cluster с целью тестирования. -U имя пользователя для входа в систему, обычно администратор

pg_dumpall -g необходим для создания дампа глобально всего, что на уровне доступа пользователя gnumed. Пароль является односторонним md5 зашифрованным хэшем, поэтому не должно быть никакой угрозы для безопасности при просмотре файла.

pg_dump необходим для создания дампа остального.

Обязательным условием является правильная настройка pg_hba.conf для разрешения доступа с компьютера, запускающего команду резервного копирования, на сервер.

например, если gm-dbo имеет административный доступ

pg_dumpall -g -h 192.168.1.6 -U gm-dbo > roles.sql

то формируется дамп уровней доступа в roles.sql

echo enter backup password ;read y;echo $y> /tmp/pass.txt

pg_dump -h 192.168.1.6 -U gm-dbo gnumed_v2 -Fc | openssl enc -bf -p file:/tmp/pass.txt > gnumed_v2.dump.bf

shred -u -z /tmp/pass.txt

здесь pg_dump использует параметр F(ormat) c(ustom). Custom format, обычно, является сжатым и должен быть восстанавливаем с помощью pg_restore.

openssl enc использован с алгоритмом -bf (blowfish) для шифрованного использования пароля, находящегося в файле /tmp/pass.txt .

Шифрованный вывод затем передается по каналу в gnumed_v2.dump.bf

Если данные подогнаны в 4G, то затем они могут быть перемещены на записывающее средство для резервного копирования.

growisofs -Z /dev/dvd gnumed_v2.dump.bf

в противном случае может быть использована cmd "split" из unix.

cat gnumed_v2.dump.bf | split -b 3900m gnumed_v2.dump

но это должно потребовать удвоенного пространства для gnumed_v2.dump.bf

Методом, требующим меньше места, был бы вывод в стандартный поток вывода со смещением кратным 3,9 Г и передачей по каналу для резервного копирования,

ozdocit.org имеет доступный сценарий резервного копирования.

пакет dvd-backup для дебиан имеет имеет очень простую команду growisofs.

growisofs -Z /dev/dvd -R -J filename

способы инициализации и хранения имени файла для dvd с расширениями Rockridge и Joliet.

growisofs -M /dev/dvd -R -J filename2

способы для добавления другого файла, как много-сессионного dvd, на непустой dvd.

Резервное копирование

Восстановление до пустой базы данных gnumed_v2

если dvd был примонтирован для чтения на /media/cdrom0

проверьте, что pg_hba.conf разрешает доступ.

создайте базу данных

createdb gnumed_v2 -O gm-dbo

добавьте уровни доступа (роли)

su postgres

psql -f roles.sql

в качестве варианта, имейте разрешенного пользователя сети admin, например, gm-dbo

psql -f roles -U gm-dbo -h 192.168.1.7

восстановите

cat /media/cdrom0/gnumed_v2.dump.bf | openssl enc -bf -d -p file:/tmp/pass.txt | pg_restore -h 192.168.1.7 gnumed_v2 -U gm-dbo -Fc

shred -u -z /tmp/pass.txt

способы вывода содержимого файла gnumed_v2.dump.bf на dvd в openssl enc в режиме -d(ecrypt), используя алгоритм -bf (blowfish), где пароль снова хранится в /tmp/pass.txt, и канал в pg_restore, который ожидает сжатый формат -F(ormat) c(ustom)
Topic revision: 14 Feb 2013, IvanLykov
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark