1

我正在将系统从旧服务器 (Slackware) 迁移到新服务器 (Redhat)。该系统包括一些.gdbm文件。我发现在我的新服务器上运行时

WEB_SERVICES = file.gdbm
tie( %webservices, 'GDBM_File', $WEB_SERVICES, O_RDONLY, 0 )

结果%webservices是空的。但这在我的旧服务器上运行良好。

所以我的问题是,.gdbm文件是否可以简单地从一台服务器传输(使用 scp 命令)到另一台服务器(不同的操作系统和不同版本的 gdbm)?

我还阅读了http://www.gnu.org.ua/software/gdbm/manual/gdbm.html#SEC12文件,其中说.gdbm文件在通过网络发送之前需要转换为平面格式。但我仍然不知道该怎么做。

请帮忙,提前谢谢!

4

1 回答 1

1

在旧系统上,GDBM 绑定到散列,转储散列。将转储移至新系统。将转储读入哈希,绑定到 GDBM 以写入它。

对于转储,使用与平台无关的序列化格式(最好使用Sereal),或者如果转储需要人类可读,则使用Data::Dumper或类似的用于写入和Data::Undump用于读取。

于 2013-08-08T22:29:24.467 回答