이메일 백업을 유지하는 좋은 방법은 무엇입니까?

이메일 백업을 유지하는 좋은 방법은 무엇입니까?

다양한 소스에서 전송된 이메일을 표준 형식으로 저장하고 백업할 수 있었으면 좋겠습니다. 비슷한 접근 방식은 여러 장치(예: 카메라, 스마트폰)에서 사진을 찍어 단일 디렉터리에 모두 JPEG 형식으로 저장하는 것입니다.

보관(KMail 또는 제가 주로 사용하는 다른 클라이언트의 내보내기 기능 사용)의 문제점은 백업 사이에 이메일이 손실되었는지 여부를 쉽게 확인할 수 없다는 것입니다. 예를 들어 백업을 사용합니다 rsync. 설명을 위해 B1과 B2라는 두 개의 백업을 보관한다고 가정해 보겠습니다. 백업은 내 데이터 소스(예: 스마트폰)에서 업데이트되고 B2는 며칠 후 B1에서 동기화됩니다. B1에서 B2로의 동기화를 수행할 때 상세 모드에서 연습 실행을 실행하고 대상 모드에서 관련 없는 파일을 삭제하면 실수로 삭제된 항목을 쉽게 발견할 수 있습니다. 관련은 중복 이메일 도입 문제입니다. 모든 이메일을 저장하는 현명한 방법이 있나요?

답변1

일반적인 시나리오는 (N)MB의 디스크 공간을 차지하는 다수의 이메일의 경우 삭제 내용을 검색하려면 (N)MB의 디스크 공간이 필요하지만 이를 복구하려면 최대 (2N)MB의 디스크 공간이 필요합니다.

mbsync일상 cron업무는 Exchange에서 이메일을 백업하는 것입니다. 파일은 다음과 같습니다 .mbsyncrc.

# See http://www.benfrancom.com/2014/11/24/mutt-offline-with-mbsync/
#
IMAPAccount work
Host outlook.office365.com
User [email protected]
Pass donteventhinkaboutit
# PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg"
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt
PipelineDepth 5

IMAPStore work-remote
Account work

MaildirStore work-local
Path ~/.mbsync/work/
Inbox ~/.mbsync/work/INBOX

Channel work
Master :work-remote:
Slave :work-local:
Patterns "INBOX" "*"
# Patterns "INBOX" "Other" "Archive" "Drafts" "Deleted Items"
Create Slave
# Remove Slave
Expunge Slave
Sync Pull New ReNew Delete Flags
SyncState *

IMAP의 경우 요구 사항 중 하나는 메시지 변경을 허용하지 않는 것입니다.현장에서;모든 변경 사항에는 새 파일 식별자를 지정하는 메시지가 필요합니다. 즉, 다음을 사용하여 ln동기화하기 전에 현재 상태를 백업에 안전하게 복사 할 수 있습니다 mbsync.

cd "$HOME/.mbsync"
mkdir -p backup

cp -al work/* backup/
find backup -type f -name '.*' -delete

동기화 후 다음과 같이 이메일 목록을 비교할 수 있습니다.

cd "$HOME/.mbsync"
( cd work &&
    find . -type f \( -name '.*' -o -printf "%p\t%T+\t%y\t%#m\t%U\t%G\n" \) |
    sort 
) > work.list

( cd backup &&
    find . -type f \( -name '.*' -o -printf "%p\t%T+\t%y\t%#m\t%U\t%G\n" \) |
    sort 
) > backup.list

comm -3 work.list backup.list

comm -23comm -13새 메시지와 삭제된 메시지 목록을 실행하고 생성한 다음 From각 메시지의 및 헤더를 추출하여 보고서를 만드는 것은 특별히 어렵지 않습니다.ToSubjectDate

관련 정보