====== gbak ====== ===== Версии сервера ===== ВСЕ ===== Формат ===== gbak -b [backup option ...] [common option ...] source target gbak -c|-r [restore option ...] [common option ...] source target (-c|-r означает, что при вызове gbak нужно использовать либо -c, либо -r, но не вместе.) ===== Описание ===== gbak утилита Firebird для управления резервными копиями В режиме бекапа **source** это путь к существующей БД (может включать имя сервера и\или альяс), а **target** файл резервной копии, это также может быть специальное устройство например /dev/stdout (для отправки резервной копии в STDOUT) или /dev/st для отправки на кассету. В режиме востановления **source** это существующая резервная копия (или специальное устройство /dev/stdin,/dev/st), а **target** путь к БД (может включать имя сервера и\или альяс). Все опции могут быть сокращены. == COMMON OPTIONS == -user username Пользователь для подключения к БД. -ro[le] Роль подключения к БД -pas[sword] password Пароль подключения к БД -se[rvice] Использовать сервисный менеджер при работе с БД. (Позволяет работать с security2.fdb) -v[erify] Выводить отчет о каждом действии. -y path Перенаправлять сообщения в заданный путь. -z Сообщить полную версию. == BACKUP OPTIONS == -b[ackup_database] Сделать резервную копию. -co[nvert] Конвертировать внешние (external) таблицы в обычные. Без данной опции внешние таблицы игнорируются при резервном копировании. -fa[ctor] blocking factor (древний параметр, использовавшийся при бэкапе на магнитные ленты) -g[arbage_collect] не производить сборку мусора. Рекомендуемая опция. -ig[nore] Игнорировать записи не прошедшие контрольную сумму. Эта опция должна использоваться только при поврежденной БД. -l[imbo] Игнорировать транзакции в limbo. Изменения, произведенные незавершенными транзакциями двухфазного коммита, будут игнорироваться. -m[etadata_only] Сохранять только метаданные. -nt Использовать не переносимый формат файла. По умолчанию формат "переносимый". Под переносимостью понимается перенос с одной аппаратной платформы на другую (с разной последовательностью младших и старших байт в целых числах). -ol[d_descriptions] Сохранять описания объектов в старом (InterBase 3.3) стиле. == RESTORE OPTIONS == -c[reate_database] Восстановить БД. Если файл БД существует, будет выдана ошибка. -r[eplace_database] Восстановить БД, с перезаписью существующего файла БД.:!: Начиная с Firebird 2.0 требуется указание или полного имени параметра (-replace_database), или параметра o[verwrite] (-r o). -bu[ffers] num Установить размер кэша, который будет использовать сервер для этой БД (в этом случае опция конфига DefaultDbCachePages будет игнорироваться). -e[xpand] Отключает компрессию RLE для строк. -i[nactive] Не активировать индексы (все). -k[ill] Не восстанавливать теневую копию. -mo[de] access Востановить БД с заданным типом доступа. Возможные варианты read_only и read_write. -n[o_validity] Восстанавливать БД без проверки constraints. -o[ne_at_a_time] Делать commit после восстановления каждой таблицы. FIXME -p[age_size] num Задать новый размер страницы. Возможные значения 1024, 2048, 4086, 8192, 16384. С Firebird 2.0 FIXME размеры страницы 1024 и 2048 игнорируются, база создается всегда с размером страницы не менее 4096 байт. -use_[all_space] Не оставлять резервное место на страницах данных. Рекомендуется только для read_only баз данных. == Востановление многофайловой БД == :!: многофайловые базы данных - атавизм, использовать не рекомендуется для Firebird 1.0 и выше. При востановлении многофайловой БД **target** будет выглядеть так : file_1 pages_1 file_2 pages_2 ... file_N-1 pages_N-1 file_N Каждый pages_n показывает как много страниц будет помещенно в файл file_n. В последний файл (без указания размера) будут помещенный все страницы которые не поместились в файл file_N-1. :!: Помните что pages_n измеряется в страницах, а не в байтах. и зависит от размера страницы. Например вам надо разбить БД на куски по 2Гб. Если размер страницы 8192, то каждый файл может иметь максимум 2*1024*1024*1024/8192 = 262144 pages. == Переменные окружения == ISC_USER параметр по умолчанию для опции -user ISC_ROLE параметр по умолчанию для опции -role ISC_PASSWORD параметр по умолчанию для опции -password ===== Пример ===== gbak -b db-srv:/database.fdb /dev/stdout | gzip > /file.fbk.gz zcat /file.fbk.gz | gbak -c /dev/stdin db-srv:/new-database.fdb #!/bin/bash PATH=/opt/firebird/bin:${PATH} bkpath=/opt/acbase/backup curdate=`date +%F` echo `date` start backuping data gbak -B -G -user SYSDBA -pass sysdba localhost:employee $bkpath/emp_$curdate.fbk echo `date +%X` backup successfully echo `date +%X` compressing gzip $bkpath/emp_$curdate.fbk echo `date +%X` compress ok find $bkpath/emp_* -type f -mtime +4 -delete echo `date +%X` remove old file ===== См. также ===== [[nbackup]] ===== Источник ===== man gbak