Migrar o Thunderbird 3 pesquisas salvas entre contas

3

Resumindo, os administradores de sistemas me transferiram para um novo servidor de email. No processo, eles precisavam criar uma conta separada no Thunderbird e desativar minha conta antiga. Eles cuidaram de toda a migração de e-mail.

No entanto, minhas pastas de pesquisa salvas não foram incluídas no passeio. Eu tenho mais de 20 pesquisas complexas que eu prefiro não ter que reinserir manualmente à mão. Você não pode arrastar pesquisas salvas entre contas, como outras pastas.

Eu tentei fechar o Thunderbird, fazendo um find / replace em virtualFolders.dat na minha pasta de perfil do Thunderbird, salvando esse arquivo e reabrindo o Thunderbird, mas isso não pareceu fazer nada. Eu estou supondo que as pastas de pesquisa também são salvas em um dos bancos de dados sqlite ... alguém sabe onde procurar?

UltraNurd
fonte

Respostas:

2

Algumas notas:

  • O Thunderbird aparentemente não exclui as pesquisas salvas no disco, mesmo depois de excluí-las na interface, por isso minha pasta IMAP do servidor antigo estava cheia de arquivos .msf antigos para pesquisas que eu não estava mais usando (aproveitei essa oportunidade para não migrar Essa)
  • Em algum momento, o Thunderbird mudou sua convenção de nomenclatura de arquivos de "Foo% 20Bar.msf" para "Foo Bar.msf", então eu tinha algumas duplicatas (uma desatualizada) sempre que a migração acontecia (provavelmente Thunderbird 2.x - & gt; 3.x?)
  • No meu caso, tenho minhas pesquisas salvas na visualização de nível superior, não na Caixa de entrada, para que elas sejam exibidas em ImapMail / server / saved-search.msf
  • Os arquivos de pesquisa salvos são pequenos, mas contêm referências ao nome do host antigo que preciso localizar / substituir
  • Depois de migrar os arquivos .msf, verificá-los no Thunderbird e sair, o virtualFolders.dat foi atualizado (o que explica por que a edição desse arquivo não fez nada e acabou sendo sobrescrita)

Aqui está o comando que eu corri com o Thunderbird não está correndo para migrar a pesquisa salva .msfs. Desculpas pelo empacotamento ruim:

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

Note que os argumentos para find são os mais propensos a mudar em sua situação; Eu tinha alguns filtros para remover antigas pesquisas salvas não usadas, mas não excluídas. o filtro em tamanho e ignorar o Trash.msf só é necessário porque organizo minhas pesquisas salvas no nível superior com minhas outras pastas não virtuais.

Eu percebo que há provavelmente um bajillion de maneiras de fazer esse multifile localizar / substituir e copiar, mas esse método é minha preferência, pois ele manipula o escape de nomes de arquivos e eu posso inspecionar o que está sendo correspondido em cada ponto onde os comandos são acoplados por um pipe .

Você teria que substituir o oldserver e servidor de notícias argumentos caminho na chamada para sed e nos caminhos de entrada e saída. Observe o regex Perl que efetivamente faz um nome de base.

Espero muito que haja uma maneira de fazer isso em algum momento. Eu percebo que este é um caso especial (buscas salvas associadas a uma única conta movendo para uma conta diferente por hostname com estrutura de pastas idênticas), embora ...

UltraNurd
fonte
1

Depois de criar uma pesquisa salva com um nome não-sensitivo (ou seja, algo que não é provável que apareça no meu e-mail), encontrei as seguintes referências a ele no meu diretório de perfil:

De acordo com Pastas fantasmas Artigo do mozillaZine, panacea.dat pode ser deletado com segurança, e será recriado automaticamente.

Ainda de acordo com essa página, parece que o arquivo .msf é necessário para a pesquisa salva. Tente copiar o arquivo do seu antigo perfil, e você deve estar pronto.

Steve Simms
fonte