ウイルススキャンのタイミングだったり、再起動中だったりなのだけれども、何にしろ「4GBを超ているinbox」を使用していると壊しがちなので、
何にしろzipの壁である4gbを超えないようにせねばならない。
で、不注意で壊してしまった場合は、だらだらと続く(文字化けした)テキストファイルをみながら、どこまでが1メールなのかを追わなければならなかったりとか、地獄がスタートする(そしてあきらめる)のだが、
最近いいやり方があることを知った。
http://www.multiburst.net/sometime-php/2007/10/mboxthunderbirdbecky/
------------------
このコマンドを用いて下記のようにコマンドを打てば、メール毎にファイル分割してくれる。
csplit -f "x" -b "%04d" (mbox形式のファイル名) '/^From .*/' '{*}'
オプションについての詳細は上記参考サイトを参照して頂きたい。
が、上記の場合、一つのファイルで一つのメールということになってしまい。すさまじいファイル数になる。いちいちこれを全部Beckyでインポートするのも面倒なので、100通ずつ今度は結合してみた。
cat x1* > mbox1
cat x2* > mbox2
cat x3* > mbox3
cat x4* > mbox4
・
・
といった感じ。
このファイルをBeckyでインポートすることでインポートを完了することができた。
-----------------
僕の場合は何故か引用符「>」が頭についてしまったので、
csplit -f "x" -b "%06d" mboxfilename '/^>From .*/' '{*}'とする。
で、「>From」だと都合が悪いので、sedで
find x0* |xargs sed -i "s/>Fr/Fr/g"として、引用府をとった。
エラーが出ているメールの部分は、ファイルサイズがおかしくなっていたりするから、バラの時に並べ替えて、内容を変更。
部分で結合していって、エラーが出たらそれを分析でもいい(が、thunderbirdといったりきたりをしないといけない)。
あとは本記事と同じように結合して修了。
cat x00* > inboxx00
cat x01* > inboxx01
cat x02* > inboxx02
.........
thundebirdのMailディレクトリに入れてやれば完了。
これのおかげで、全てのメールをロストするという最悪の事態を初めてまぬがれた。
コメントで感謝を示したかったが、コメントを付けられなさそうだったのでここで。
4gbを超えるとろくなことはない。
0 件のコメント:
コメントを投稿