2014-11-03 97 views
2

我想备份一个firebird数据库。 我正在使用gbak.exe实用程序。它工作正常。火鸟远程备份

但是,当我想从远程计算机执行备份时,备份文件存储在serveur文件系统中。 有没有办法强制gbak工具下载备份文件?

谢谢

回答

0

如果你有本地gbak,你可以通过网络备份。只需在数据库之前指定主机名称即可。

例如:

gbak -B 192.168.0.10:mydatabase mylocalfile.fbk -user SYSDBA -password masterkey 
+0

在这种情况下,mylocalfile.fbk将在服务器上创建 – testpresta 2014-11-04 07:44:50

0

我相信你应该可以,如果你使用的服务管理器备份要做到这一点,并使用stdout作为备份文件。在这种情况下,该文件应该流式传输到gbak客户端,您可以使用重定向将其写入磁盘。

gbak -backup -service hostname:service_mgr employee stdout > backupfile.fbk 

但我不是100%肯定这是否实际工作,为gbak documentation没有提到这一点。我将在本周晚些时候检查并修改我的答案。

0

试试这个命令:

"C:\Program Files (x86)\Firebird\Firebird_2_5\bin\gbak" -v -t -user SYSDBA -password "masterkey" 192.168.201.10:/database/MyDatabase.fdb E:\Backup\BackupDatabase.fbk 

当然,你需要相应地更新你的路:)

3

存储备份的火鸟服务器上

gbak -b -service remote_fb_ip:service_mgr absolute_path_to_db_file absolute_path_to_backupfile -user SYSDBA -pass masterkey 

备份存储在本地机器上

gbak -b remote_fb_ip:absolute_path_to_db_file path_to_local_file -user SYSDBA -pass masterkey 

见: remote server local backupgbak documentation

1

它总是抢远程数据库到不同的远程计算机的问题。为此,我们的研究所使用Handy Backup(for Firebird-based apps, too),但如果您更喜欢GBAK,这些方法还有更多。

一个最简单的方法是使用GBAK从本地机器直接调用远程数据库(我看到它已经在我之前描述过了)。另一种方法是使用Windows网络的管理工具将GBAK安装到远程机器上。这种方法可能非常棘手,因为在混合体系结构网络(包含域和非域部分)中总会存在一些障碍。

因此,最简单的方法是编写一个调用GBAK的备份脚本(批处理)文件,然后使用命令行网络文件管理器或FileZilla等FTP管理器将生成的Firebird文件复制到其他网络目标。它需要一些(最低的)技能和研究,但在成功测试后可以多次工作。

此致敬礼!