web-dev-qa-db-ja.com

Thunderbird 3をマイグレーションすると、アカウント間の検索を保存しました

ロングストーリーの短い、Sysadminsは私を新しいMailServerに移動しました。このプロセスでは、Thunderbirdに別のアカウントを作成し、古いアカウントを無効にする必要がありました。彼らはすべてのメール移行を大事にしました。

しかし、私の保存された検索フォルダは乗車に沿って行かなかった。私は20以上の複雑な検索があり、私は手動で手動で再入力する必要がありません。他のフォルダのようなアカウント間で保存された検索をドラッグすることはできません。

私はThunderbirdを閉じて、virtualfolders.datの検索/置換を行い、そのファイルを保存し、そのファイルを保存し、Thunderbirdを再開するが、それは何もしないようでした。検索フォルダもSQLiteデータベースの1つに保存されていると仮定しています。

3
UltraNurd

いくつかのノート:

  • Thunderbirdは、UIで削除した後でも、保存された検索をディスクに削除しないように、古いサーバーのIMAPフォルダがもう使用していない検索では古い.MSFにいっぱいでした(そこでこの機会が移行しないようにしました)。それらの)
  • ある時点でThunderbirdが「foo%20bar.msf」から「foo bar.msf」から「foo bar.msf」とのファイル命名規則を切り替えましたので、その移行が起こったときはいつでも(おそらくThunderbird 2.x - > 3のうちの1つ)重複を持っていました。 。NS?)
  • 私の場合は、iMapmail/server/saved-search.msfに表示されるトップレベルのビューで私の保存された検索を持っています。
  • 保存された検索ファイルは小さいですが、検索/置換が必要な古いホスト名への参照を含みます。
  • .msfファイルを移行した後、Thunderbirdでそれらを検証し、終了した、virtualfolders.datが更新されました(このファイルの編集は何もしなかった理由を説明し、上書きしました)。

これがThunderbirdとRANが走っています実行されていません保存した検索.msfsを移行します。悪いラッピングの謝罪:

find ImapMail/oldserver/*.msf -size -5k -and -not -name "*%20*" -and -not -name "Trash.msf" -print0 | xargs -0 Perl -e 'foreach $path (@ARGV) { $path =~ /.*\/([^\/]+)/; $filename = $1; print "sed 's/oldserver/newserver/g' \"$path\" > \"ImapMail/newserver/$filename\"\n"; }' | sh
 _

findの引数は、状況で変わる可能性が最も高いものです。未使用ではなく削除されていない古い保存された検索を削除するためのフィルタがいくつかありました。サイズのフィルタとtrash.msfを無視するためだけに、私の保存された検索を私の他の仮想フォルダと一緒にトップレベルで整理するために必要です。

私はおそらくこのマルチファイル検索/置換とコピーを行うためのBajillionの方法があることに気づいていますが、このメソッドはファイル名のエスケープを処理してから、コマンドがパイプによって結合されている各時点で一致していることを調べることができます。 。

oldServerNewserverのパス引数を置き換える必要があります。 sedと入力パスと出力パスに呼び出します。注意事態を効果的に実行するPerl正規表現に注意してください。

私は、ある時点でこれをするためのUIの方法があることを大いに望んでいます。これが特別な場合であることを実感しています(単一のアカウントに関連付けられている保存検索に関連付けられている検索は、同じフォルダ構造を持つホスト名によって異なるアカウントに移動します)。

2
UltraNurd

精神的な名前で保存された検索を作成した後(すなわち、私のメールに表示される可能性が低いもの)、私は私のプロフィールディレクトリで次のような参照を見つけました。

Phantomフォルダ Mozillazineの記事では、Panacea.datを安全に削除することができ、自動的に再作成されます。

そのページによると、保存された検索に.msfファイルが必要です。そのファイルを古いプロファイルからもコピーしてみてください。すべてのセットになるはずです。

1
Steve Simms