오프라인 MailDir 복원 조언

오프라인 MailDir 복원 조언

상황:

나는 이메일 상당의 오프라인 백업을 가지고 있습니다. 읽은 후 rsync를 통해 새 서버의 MailDir로 이메일을 복원할 수 있음을 확인했습니다.

내 다소 기본적인 질문은 다음과 같습니다.

파일 이름...

내 오프라인 백업 디렉터리에 있는 모든 이메일에는 이메일 파일 이름에 이전 서버 이름이 포함되어 있습니다. ![이미지|690x250](업로드://vUjwPQl63yodAvKLVY6BBuHQZZ5.png)

내 현재 호스트 이름은 이기 때문에 먼저 ..... 로 대체하기 위해 admin.example.com일부 유형의 배치를 설정한 다음 오프라인 백업에서 온라인 MailDir로 rsync를 수행해야 합니까?search and replaceserver1.old-example.comadmin.example.com

그렇다면 권장되는 방법이 있습니까?

고마워

답변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을 제공하십시오.

    사서함에 태그된 사본:아이맵://[이메일 보호됨]/받은 편지함

    참고: 하위 폴더의 이름은 IMAP 서버 유형에 따라 지정 Archive.2022될 수 있습니다. ( 모든 하위 폴더를 INBOX 아래에 배치하도록 요구하는 Courier 서버인 경우 Archive/2022에도 마찬가지입니다 .)INBOX.Archive.2022

  4. 모든 메시지가 업로드된 후 x변경 사항을 저장하지 않고 종료하고(실수로 일부 메시지를 만든 경우를 대비하여) 1단계로 돌아가 나머지 하위 폴더를 복원합니다.


관련 정보