オフライン MailDir 復元のアドバイス

オフライン MailDir 復元のアドバイス

状況:

数ギガバイト分のメールのオフライン バックアップがあります。少し調べたところ、rsync 経由で新しいサーバーの MailDir にメールを復元できることを確認しました。

私のかなり基本的な質問:

ファイル名...

私のオフライン バックアップ ディレクトリ内のすべての電子メールのファイル名には、古いサーバー名が含まれています。 ![画像|690x250](アップロード://vUjwPQl63yodAvKLVY6BBuHQZZ5.png)

現在のホスト名は なので、を に 置き換えるためにadmin.example.comまず何らかのバッチを設定し、その後オフライン バックアップからオンライン MailDir に rsync を実行する必要がありますか?search and replaceserver1.old-example.comadmin.example.com

もしそうなら、何か推奨される方法はありますか?

THX

答え1

ホスト名は重要ではありません。最初のホスト名まではすべて、,定義された形式を持たない単なる一意の ID です。(ホスト名を含める目的は、ファイル名の一意性を保証することです。たとえば、複数の MX サーバーが NFS 経由で同じ Maildir に配信する場合、これにより、まったく同時に配信されたメッセージでも衝突しないことが保証されます。)

したがって、Maildir 全体を新しいサーバーにダンプするだけで、すべてが機能するはずです。新しい IMAP サーバーは、ホスト名に関係なく、見つかったメッセージを取得しますcur/。(ただし、コメントで述べたように、UID/GID の所有権が正しいことを確認してください。)

(ただし、新しいサーバーにアップロードする前に、「dovecot.index」ファイルなどの古いサーバー固有のジャンクを削除することをお勧めします。)

サブフォルダを見逃さないように注意してください。サブフォルダは通常、隠しサブディレクトリとして保存されます。たとえば、「Archive/2022」フォルダは、Maildir/.Archive.2022/サブフォルダの保存方法は次のとおりです。5月サーバーによって異なります。


直接復元が失敗した場合は、代わりに IMAP 経由でメッセージをアップロードできます (サーバーが希望どおりにメッセージを保存できるようにします)。たとえば、muttまたはneomuttターミナルベースのメール アプリを使用します。

  1. 実行してmutt -f ~/Mail_backup/ローカル Maildir を開きます (「cur/」の部分を含めないでください)。

  2. Shift+T . Enterすべてのメッセージを選択(「タグ付け」)するために使用します。

  3. 「コピー」を使用して; Shift+C、対象の IMAP サーバーの URL を指定します。

    タグ付けされたコピーをメールボックスにコピー:imaps://[メールアドレス]/受信トレイ

    注: サブフォルダーの名前は、 IMAP サーバーの種類に応じてArchive.2022、またはになる場合がありますArchive/2022。(すべてのサブフォルダーを INBOX の下に配置することを要求している Courier サーバーの場合も同様ですINBOX.Archive.2022。)

  4. すべてのメッセージがアップロードされたら、x変更を保存せずに終了し (誤って変更した場合に備えて)、手順 1 に戻って残りのサブフォルダーを復元します。


関連情報