1

システムを古いサーバー (Slackware) から新しいサーバー (Redhat) に移行しています。システムにはいくつかの.gdbmファイルが含まれています。新しいサーバーで、実行中にそれがわかりました

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

%webservices空であることがわかります。しかし、これは私の古いサーバーではうまく機能していました。

私の質問は、あるサーバーから別のサーバー (異なるオペレーティング システムと異なるバージョンの gdbm) に.gdbmファイルを (scp コマンドを使用して) 単純に転送できるかどうかです。

また、ドキュメント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 に答える