« Datulaのサポートが終わった | メイン | 骨付きカルビはじめました »

2006年1月16日

DatulaからBeckyへのデータコンバーター >>Perl  | >>ソフトウェア 

DatulaからBeckyへのデータコンバータですが、テストした感じ、ほとんど大丈夫なようなので公開します。
要ActivePerl
要Thread::Running
Thread::Runningを使用しているので、スレッドの回収が少しは速いはずです。
なんでPerlで作るかね..っていう話もあるでしょうが・・・。
ダウンロード 使い方等は、解凍した上で、readme.txtを読んで下さい。

readme.txtの内容

Datula to Becky v2

サポートが完全に終了したDatulaからBeckyへ乗り換えるための支援スクリプトです。
メールデータ、基本アカウント情報、signatureをコピーします。

<必要なもの>
ActiveState ActivePerl5.8以降
Thread::Running

ActivePerlをインストールした後、
perl -MCPAN -e shell
を実行し
install Thread::Running
で、Thread::Running をCPANからインストールしてください。

尚、ActivePerlはなるべく最新のものを使ってください。
作成及びテストでは、v5.8.7 build 815を使用。

1.設定
同梱のexport.iniを書き換えてください。

1行目 Datulaのデータが格納されている先へのパス
2行目 Beckyのデータが格納されている先へのパス
3行目 Datulaのレジストリデータ(通常は、PerlScriptと同じディレクトリにおきます)
4行目 Threadを使用する数。あまり増やすとシステムが不安定になります。10以下を推奨

2.Datulaのレジストリデータを書き出してください。
Datula内のバックアップコマンドで実行すればよいです。

3.DatulaとBeckyを終了してください。

4.実行方法
 まず、コマンドプロンプトを開きます

cd このスクリプトがおかれているディレクトリ
perl output.pl

 後はのんびり待ってください。
 データ容量、DiskI/O、CPUパワー等にもよりますが、テストでは 8.5GBで40分ほどで実行が完了。

5.完了後
Datula内のメールデータ、signature以外の、振り分けや、パスワードは
初期化されますので
Beckyを実行してパスワードの再設定などを行ってください。

 尚、Beckyでフォルダを開く際に、初めての時にはインデックスファイル
 生成のために少々時間がかかります。

6.バグ/エラーなど
・Datulaのmbxからの吐き出しの際で、データ件数が多くなる場合が稀にあります。
・Perlのスレッドが異常終了して、エラーが出た場合は、
Beckyのディレクトリから、Account*.datula.mb のフォルダを全て削除し、
再実行してください。
Accaount*.datula.mb という名称は通常ではBeckyで使用されませんが、
削除する際には一応間違いが無いか気をつけてください。
 ・データを書き出す際に、ウィルスチェックが利いて書き出しに失敗することがあります。
  (ウィルスチェックプログラムの種類にもよる)実行時には一応ウィルスチェックをとめてから実行を行ってください。
 ・Package化でだいたい動いていましたが、Threadの回収関連が少々怪しいため、Package化していません。

7.テスト環境
Becky v2.24.02[ja]
Datula 1.52.01
ActivePerl 5.8.7 build 815
WindowsXP SP2

8.参考
Fe's Soft http://hp.vector.co.jp/authors/VA014121/
Export from Datula GUI

Export from Datula GUIで使用されている export.cのfile seekでは、ポインタ移動が 少々まずいようです。参考にした上で改変しています。

※サーバ環境うつしたら、スクリプトがリンク切れしておりました。

twitterこの記事をTwitterでみんなに教える。

投稿者 debizoh : 2006年1月16日 01:29



トラックバック

現在、この記事はトラックバックを受け付けておりません。


コメント

現在、この記事はコメントを受け付けておりません。