
나는 사용한다재동기화내 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을 다른 것으로 설정하겠습니다. 그렇지 않으면 해당 도메인의 사용자가 분할 도메인 경로를 가지지 않게 됩니다.
일반적으로 원본 컴퓨터와 대상 컴퓨터 간의 구성이 최대한 유사하기를 원합니다.