Issue Details (XML | Word | Printable)

Key: CORE-2666
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Poul Dige
Votes: 3
Watchers: 5

If you were logged in you would be able to see more operations.
Firebird Core

Make it possible to use API to do remote backups/restores

Created: 05/Oct/09 03:50 PM   Updated: 18/Jan/16 06:02 PM
Component/s: API / Client Library, GBAK
Affects Version/s: None
Fix Version/s: 2.5.2, 3.0 Alpha 1

File Attachments: 1. File 2666-with-restore.patch.bz2 (10 kB)
2. Text File 2666.patch (18 kB)

Environment: All
Issue Links:

Target: 3.0 RC2
QA Status: No test

 Description  « Hide
Today you can use the API remotely to create a serverside backup. You can use GBAK to create a remote backup (e.g. via Internet). But you can't use API to create remote backup, i.e. create a backup serverside and flush it to the client.

As using GBAK is very very slow over internet (testcase 10MB database backup takes less than 2 seconds when done locally, and more than 5 minutes through a 20MBit internet connection) ) it is a must to improve this function to make it possible to offer remote hosting for customers.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 05/Oct/09 04:08 PM
Poul, I've marked it as planned for 3.0, but this does not mean that private build of 2.5 for you is not possible. Let's return to it after 2.5 official release.

Alexander Peshkov added a comment - 27/Apr/10 01:59 PM
This patch for firebird 2.5 makes it possible to do fast backup of databases, using services.

Alexander Peshkov added a comment - 06/Apr/11 01:11 PM
Patch with restore should be applied to clean 2.5 sources.

PizzaProgram Ltd. added a comment - 13/May/12 06:02 PM
Is it possible to include this feature in 2.5 final binary? (Not just as a patch? Sorry, I don't know, how to apply it.)
Would be nice, if it would be "official".
It's hard to locate the proper gbak.exe, becase of too many directory variants in "Win" enviroment.
Waiting for this possibility since 1.0 version.
Also would be nice, if would be able to send/recieve as a stream, to be able to de/encrypt the .fbk file in real time, before opening/saving from/to client's hdd.

Alexander Peshkov added a comment - 06/Jun/12 08:39 AM
Code has been well tested by IbPhoenix customers, therefore currently it seems OK to add this feature to 2.5 branch. Specially taking into an account that we already have some new features in it.

Dmitry Yemanov added a comment - 10/Jun/12 11:32 AM
Alex, some docs about the feature is needed for this to be included into the v2.5 branch.

Alexander Peshkov added a comment - 14/Jun/12 07:33 AM
Moreover - we have a kind of, written for IbPhoenix clients

Dmitry Yemanov added a comment - 18/Jun/12 10:33 AM
In order to be included into 2.5.2, the patch must be immediately ready. Ideally, it should also be committed into FB3, so that it was known to be compatible with the new architecture as well. Otherwise, it has to wait until 2.5.3.

Denis Pereira Raymundo added a comment - 16/Oct/12 11:14 AM
I think this feature makes room for weakness in Firebird. For if a person anywhere in the world to discover the path of the database, which is not very hard, and find the password, get an updated copy of data whenever it wants. Before one had to be physically on site database or getting a remote access, which was much more difficult.

I think it should have a setting in firebird to accept doing this type of operation or not. So we could enable it when needed.

Alexander Peshkov added a comment - 16/Oct/12 12:35 PM
Read carefully issue name - "to use API". It was possible to use gbak utility to do remote backups since first FB days and even before. The reason to use services API is just to make it a bit faster.

PizzaProgram Ltd. added a comment - 13/Feb/13 12:33 AM
Can someone please write an example here how to call this new feature from API ?
Is there already any know Delphi component that can handle it?
Thanks !

Alexander Peshkov added a comment - 13/Feb/13 09:13 AM
From doc/README.services_extension:
"A sample of how services API should be used for remote backup and restore can be found in source code of fbsvcmgr."
It's very simple (not to say trivial) utility, separate _working_ sample will not be easier to understand.

What about delphi - no idea, and not good place to ask.

Philippe Makowski added a comment - 13/Feb/13 09:21 AM
About Delphi, you can check UIB, usually it is up to date for all API
just do a check out from the repository :