我想备份一个firebird数据库。 我正在使用gbak.exe实用程序。它工作正常。
但是,当我想从远程计算机进行备份时,备份文件存储在serveur文件系统中。 有没有办法强制gbak实用程序下载备份文件?
由于
答案 0 :(得分:5)
备份存储在Firebird服务器上
gbak -b remote_fb_ip:absolute_path_to_db_file path_to_local_file -user SYSDBA -pass masterkey
备份存储在本地计算机上
{{1}}
答案 1 :(得分:1)
将远程数据库抓到另一台远程计算机上总是一个问题。为此,我们的机构使用Handy Backup(for Firebird-based apps, too),但如果您更喜欢GBAK,可以采用更多方法。
最简单的方法是使用GBAK从本地计算机直接调用远程数据库(我看到它已在我之前描述过)。另一种方法是使用Windows网络的管理工具将GBAK安装到远程机器上。这种方法可能很棘手,因为在混合架构网络(具有域和非域部分)中,总会存在一些障碍。
因此,最简单的方法是编写一个调用GBAK的备份脚本(批处理)文件,然后使用命令行网络文件管理器或FileZilla等FTP管理器将生成的Firebird文件复制到某个不同的网络目标。它需要一些(最小的)技能和研究,但在成功测试后可以多次工作。
祝你好运!
答案 2 :(得分:0)
如果您在本地使用gbak,则可以通过网络进行备份。只需在数据库之前指定主机名即可。
例如:
gbak -B 192.168.0.10:mydatabase mylocalfile.fbk -user SYSDBA -password masterkey
答案 3 :(得分:0)
我相信如果您使用服务管理器进行备份,您应该能够执行此操作,并将stdout指定为备份文件。在这种情况下,文件应该流式传输到gbak客户端,您可以使用重定向将其写入磁盘。
gbak -backup -service hostname:service_mgr employee stdout > backupfile.fbk
然而,我并非100%确定这是否真的有效,因为gbak documentation没有提到这一点。我将在本周晚些时候检查这个并修改我的答案。
答案 4 :(得分: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
当然,您需要相应地更新路径:)