CascadiaPHP 2024

ibase_backup

(PHP 5, PHP 7 < 7.4.0)

ibase_backupИнициирует задание резервного копирования в диспетчере служб и немедленно возвращает

Описание

ibase_backup(
    resource $service_handle,
    string $source_db,
    string $dest_file,
    int $options = 0,
    bool $verbose = false
): mixed

Эта функция передаёт аргументы на (удалённый) сервер базы данных. Там начинается новый процесс резервного копирования. Поэтому вы не получите никаких ответов.

Список параметров

service_handle

Ранее открытое соединение с сервером базы данных.

source_db

Абсолютный путь к файлу базы данных на сервере базы данных. Вы также можете использовать псевдоним базы данных.

dest_file

Путь к файлу резервной копии на сервере базы данных.

options

Дополнительные опции для передачи на сервер базы данных для резервного копирования. Параметр options может быть комбинацией         из следующих констант: IBASE_BKP_IGNORE_CHECKSUMS, IBASE_BKP_IGNORE_LIMBO, IBASE_BKP_METADATA_ONLY, IBASE_BKP_NO_GARBAGE_COLLECT, IBASE_BKP_OLD_DESCRIPTIONS, IBASE_BKP_NON_TRANSPORTABLE или IBASE_BKP_CONVERT. Прочтите раздел о Предопределённые константы для получения дополнительной информации.

verbose

Поскольку процесс резервного копирования выполняется на сервере базы данных, у вас нет шансов получить его вывод. Этот аргумент бесполезен.

Возвращаемые значения

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Поскольку процесс резервного копирования выполняется на (удалённом) сервере, эта функция просто передаёт ему аргументы.     Пока аргументы корректны, вы не получите false.

Примеры

Пример #1 Пример использования ibase_backup()

<?php

// Соединение к серверу базы данных по IP-адресу и порту
$service = ibase_service_attach ('10.1.11.200/3050', 'sysdba', 'masterkey');

// Запуск процесса резервного копирования на сервере базы данных
// Резервное копирование базы данных сотрудников, используя полный путь к /srv/backup/employees.fbk
// Не используйте никаких специальных аргументов
ibase_backup($service, '/srv/firebird/employees.fdb', '/srv/backup/employees.fbk');

// Освобождение подключённого соединения
ibase_service_detach ($service);
?>

Пример #2 Пример использования ibase_backup() с аргументами

<?php

// Подключиться к серверу базы данных по имени и порту по умолчанию
$service = ibase_service_attach ('fb-server.contoso.local', 'sysdba', 'masterkey');

// Запуск процесс резервного копирования на сервере базы данных
// Резервное копирование базы данных сотрудников с использованием псевдонима в /srv/backup/employees.fbk.
// Резервное копирование только метаданных. Не создавайте переносную резервную копию.
ibase_backup($service, 'employees.fdb', '/srv/backup/employees.fbk', IBASE_BKP_METADATA_ONLY | IBASE_BKP_NON_TRANSPORTABLE);

// Освобождение подключённого соединения
ibase_service_detach ($service);
?>

Смотрите также

  • ibase_restore() - Запускает задачу восстановления в диспетчере служб и немедленно возвращается

add a note

User Contributed Notes 1 note

up
-9
Gara
18 years ago
I tried to get the backup function working, but could never figur out where to get the resource service_handle. The trick was to use ibase_service_attach.

$resource_service_handle = ibase_service_attach ('localhost', 'username', 'password');

ibase_backup($resource_service_handle, 'source_database', 'destination_file');

ibase_service_detach ($resource_service_handle);
To Top