Behalten Sie ungelesene Flags während einer Cyrus-Mail-Migration mit rsync

Behalten Sie ungelesene Flags während einer Cyrus-Mail-Migration mit rsync

ich benutzersyncum die E-Mails zwischen meinem Cyrus 2.3.14-Server (Quelle) und dem Cyrus 2.3.16-Server (Ziel) zu migrieren. Allerdings habe ich ein kleines Problem.

Auf dem Cyrus-Quellserver wurden die Mails in /var/spool/cyrus/domain/d/domain_name gespeichert und die Kontingente und die gesehenen/sub-Dateien in /var/lib/cyrus/domain/d/domain_name. Auf dem Cyrus-Zielserver wurden die Mails in /var/spool/imap/domain_name gespeichert und die Kontingente und die gesehenen/sub-Dateien in /var/lib/imap. In der /etc/imapd.conf-Datei des Ziels habe ich dieStandarddomänegesetzt mit dem WertDomänennameund dasStandardpartitionmit dem Wert: /var/spool/imap/domain_name.

Daher verwende ich die folgenden Befehle:

  • *rsync -avt --delete --exclude "cyrus.**" /var/spool/cyrus/domain/d/domain_name cyrus_2.3.16_server:/var/spool/imap/domain/d/domain_name* zum Migrieren der E-Mails

Und

  • rsync -avt --delete --exclude ".sub" /var/lib/cyrus/domain/d/domain_name/user/ cyrus_2.3.16_server:/var/lib/imap/user*, um die angezeigten Dateien zu migrieren.

Dann extrahiere ich diePostfächer.dbvom Quellserver, entferne die Domäneninformationen (weil ich auf dem Zielserver dieStandarddomäneund definieren Sie dieStandardpartition) und importiere es auf dem Zielserver (ctl_mboxlist -u). Zum Abschluss führe ich den Befehl „Reconstruct“ aus.

Wenn ich ein migriertes Postfach (auf dem Zielserver gespeichert) überprüfe, erhalte ich nur ungelesene Mails. Gibt es einen anderen Befehl oder Schritt, den ich ausführen muss, oder sagen Sie mir, ob meine Methode falsch ist?

Vielen Dank im Voraus

Antwort1

Sie müssen die Benutzerdateien auch in den Domänenpfad migrieren:

Erstens: Sie können die cyrus.header-Dateien nicht löschen, da Sie sonst die eindeutigen IDs und die angezeigten Informationen verlieren. Sie können auch cyrus.index behalten, damit Sie die Informationen \Answered, \Draft und \Flagged (sowie alle Benutzerflags) nicht verlieren. Und dann schadet cyrus.cache nicht, obwohl Sie es wahrscheinlich trotzdem wiederherstellen werden, nur um sicherzugehen.

rsync -avt --delete /var/spool/cyrus/domain/d/Domänenname cyrus_2.3.16_server:/var/spool/imap/domain/d/Domänenname

Nochmals: Warum verzichten Sie auf die Abonnementdateien?

rsync -avt --delete /var/lib/cyrus/domain/d/Domänenname/Benutzer/ cyrus_2.3.16_server:/var/lib/imap/domain/d/Domänenname/Benutzer

Und schließlich würde ich die Standarddomäne auf einen anderen Wert festlegen, da Ihre Benutzer in dieser Domäne sonst keine geteilten Domänenpfade haben.

Im Allgemeinen möchten Sie, dass die Konfiguration auf den Quell- und Zielcomputern so ähnlich wie möglich ist.

verwandte Informationen