Manter flags não lidos durante uma migração de e-mail cyrus com rsync

2

Eu uso rsync para migrar os e-mails entre meu servidor cyrus 2.3.14 (fonte) e o servidor cyrus 2.3.16 (destino). No entanto, tenho um pequeno problema.

No servidor cyrus de origem, os e-mails foram armazenados em / var / spool / cyrus / domínio / d / nome_do_domínio e a cota e os arquivos vistos / sub são armazenados em / var / lib / cyrus / domain / d / nome_do_domínio. No servidor cyrus de destino, os e-mails foram armazenados em / var / spool / imap / domain_name e a cota e os arquivos vistos / sub são armazenados em / var / lib / imap. No arquivo /etc/imapd.conf do destino, eu tenho o defaultdomain definido com o valor domain_name e o defaultpartition com o valor: / var / spool / imap / domain_name.

Então eu uso os seguintes comandos:

  • * rsync -avt --delete --exclude "cyrus. **" / var / spool / cyrus / domínio / d / nome_do_domínio cyrus_2.3.16_servidor: / var / spool / imap / domínio / d / nome_do_domínio * para migre os e-mails

e

  • rsync -avt --delete --exclude " .sub" / var / lib / cyrus / domínio / d / nome_do_domínio / user / cyrus_2.3.16_server: / var / lib / imap / user * para migrar os arquivos vistos.

Então eu extraio o mailboxes.db do servidor de origem, removo as informações de domínio (porque no servidor de destino eu defino o defaultdomain e defino a partição padrão ) e importe-o no servidor de destino (ctl_mboxlist -u). Para terminar, eu executo o comando reconstruct.

Quando verifico uma caixa de correio migrada (armazenada no servidor de destino), só recebi emails não lidos. Existe outro comando ou passo que tenho que fazer ou me dizer se meu método está errado?

Obrigado antecipadamente

    
por Cédric 05.12.2013 / 23:57

1 resposta

1

Você também precisa migrar os arquivos do usuário para o caminho do domínio:

Primeiro - você não pode excluir os arquivos cyrus.header, ou você perderá os IDs únicos e perderá as informações vistas. Você também pode manter o cyrus.index, assim você não perderá as informações de \ Answered, \ Draft e \ Flagged (além de qualquer sinalizador de usuário) - e então o cyrus.cache não irá prejudicar, embora você provavelmente irá reconstruir de qualquer maneira para ter certeza.

rsync -avt --delete / var / spool / cyrus / domínio / d / nome_do_domínio cyrus_2.3.16_servidor: / var / spool / imap / domínio / d / nome_do_domínio

Novamente - por que você está descartando os arquivos de assinatura?

rsync -avt --delete / var / lib / cyrus / domínio / d / nome_do_domínio / usuário / cyrus_2.3.16_servidor: / var / lib / imap / domínio / d / nome_do_domínio / usuário

Por fim, defino que defaultdomain seja outra coisa, caso contrário, os usuários desse domínio não terão caminhos de domínio dividido.

Em geral, você deseja que a configuração seja o mais semelhante possível entre as máquinas de origem e de destino.

    
por 07.12.2013 / 02:27