rsync를 사용하여 사이러스 메일 마이그레이션 중에 읽지 않은 플래그 유지

rsync를 사용하여 사이러스 메일 마이그레이션 중에 읽지 않은 플래그 유지

나는 사용한다재동기화내 cyrus 2.3.14 서버(소스)와 2.3.16 cyrus 서버(대상) 간에 메일을 마이그레이션합니다. 그러나 약간의 문제가 있습니다.

원본 Cyrus 서버에서 메일은 /var/spool/cyrus/domain/d/domain_name에 저장되었고 quota 및 visible/sub 파일은 /var/lib/cyrus/domain/d/domain_name에 저장되었습니다. 대상 사이러스 서버에서 메일은 /var/spool/imap/domain_name에 저장되고 quota 및 visible/sub 파일은 /var/lib/imap에 저장됩니다. 대상의 /etc/imapd.conf 파일에 다음이 있습니다.기본도메인값으로 설정도메인 이름그리고기본파티션값: /var/spool/imap/domain_name.

그래서 다음 명령을 사용합니다.

  • *rsync -avt --delete --exclude "cyrus.**" /var/spool/cyrus/domain/d/domain_name cyrus_2.3.16_server:/var/spool/imap/domain/d/domain_name* 메일을 마이그레이션하려면

그리고

  • rsync -avt --delete --제외 ".sub" /var/lib/cyrus/domain/d/domain_name/user/ cyrus_2.3.16_server:/var/lib/imap/user* 표시된 파일을 마이그레이션합니다.

그런 다음메일박스.db원본 서버에서 도메인 정보를 제거합니다(대상 서버에서기본도메인그리고 정의기본파티션) 대상 서버로 가져옵니다(ctl_mboxlist -u). 완료하려면 reconstruct 명령을 실행합니다.

이전된 메일함(대상 서버에 저장되어 있음)을 확인해보니 읽지 않은 메일만 들어있습니다. 내가 수행해야 하는 또 다른 명령이나 단계가 있습니까? 아니면 내 방법이 잘못된지 알려 주어야 합니까?

미리 감사드립니다

답변1

사용자 파일도 도메인 경로로 마이그레이션해야 합니다.

첫째, cyrus.header 파일을 삭제할 수 없습니다. 그렇지 않으면 고유 ID와 표시된 정보를 잃게 됩니다. \Answered, \Draft 및 \Flagged 정보(모든 사용자 플래그 포함)를 잃지 않도록 cyrus.index도 유지하는 것이 좋습니다. 그러면 cyrus.cache가 손상되지는 않지만 어쨌든 재구성하게 될 것입니다. 확인하기.

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

다시 말하지만, 왜 구독 파일을 버리는 겁니까?

rsync -avt --delete /var/lib/cyrus/domain/d/domain_name/user/ cyrus_2.3.16_server:/var/lib/imap/domain/d/domain_name/user

마지막으로 defaultdomain을 다른 것으로 설정하겠습니다. 그렇지 않으면 해당 도메인의 사용자가 분할 도메인 경로를 가지지 않게 됩니다.

일반적으로 원본 컴퓨터와 대상 컴퓨터 간의 구성이 최대한 유사하기를 원합니다.

관련 정보