이 가이드와 가져오기 스크립트를 제공해 주셔서 감사합니다! Google Takeout을 사용해 Google 그룹에서 성공적으로 적용했습니다. 단순히 .mbox 파일을 올바른 디렉터리에 넣고 스크립트를 실행하기만 하면 됩니다.
.mbox에 존재하지 않는 상위 메일이 있는 메일을 가져오는 것에 대해 질문이 있습니다. 예를 들어, 우리 그룹에는 그룹으로 전송되지 않은 메일의 FWD(전달)로 시작되거나, 대화 중간에 그룹을 회신 목록에 추가하여 참여시킨 스레드가 많습니다.
현재 가져오기를 수행하면 이러한 이전 메일들이 존재하지 않는 것처럼 보입니다. 메일 아이콘을 클릭하여 HTML을 확인하면 찾을 수 있습니다. 다른 분들도 동일한 상황을 겪으셨는지, 그리고 해결책이 있는지 궁금합니다. 게시글에 이전 메일 체인을 포함하거나, 이를 파싱하여 특정 수의 메시지를 추출해 모두 추가하는 방식이 가능할 것 같습니다.
권장 RAM 용량이 8GB라는 점은 알고 있습니다. 2GB 가상 머신에서 20년치 게시글을 가져오기를 시도해 봤는데, 잠시 동안은 작동하다가 'killed’라는 메시지와 함께 크래시 났습니다. DigitalOcean 같은 호스팅 제공업체의 8GB 머신은 (제게는) 비싸거든요. 메모리를 더 적게 쓰면서 이 작업을 수행할 수 있는 방법이 있을까요? 더 작은 배치로 가져오기를 하는 것도 방법일까요?
이 스레드에 활동이 많지 않다는 걸 알고 있지만, 제대로 작동하게 만드는 데 실패하고 있습니다. 가져온 mbox 형식의 이메일 중 많은 부분이 올바르게 분리되지 않습니다. From 줄은 다음과 같이 보입니다:
From MAILER-DAEMON Tue Nov 01 05:57:09 2022
하지만 일부 메시지는 올바르게 가져오진 한 후, 본문 내에 전형적인 From 줄로 시작하는 원시 mbox 형식 항목들이 포함되어 있습니다. 즉, 메시지가 분리되지 않는 것입니다. 분리를 담당하는 정규식(regex)을 수정해야 한다고 생각하지도 않고, Ruby를 모르기 때문에 가져오기 스크립트를 디버깅할 수도 없습니다.
다음으로 어디로 나아가야 할지 모르겠습니다. 가져와야 할 메시지가 20년 치나 되므로, 가져온 메시지를 하나하나 수동으로 확인하여 수정할 수는 없습니다. 결론적으로 이 스크립트가 제 환경에서는 작동하지 않습니다. 왜 저에게만 이런 문제가 발생하는 걸까요?
import_mbox.sh 파일을 찾을 수 없고, mbox.rb 스크립트를 직접 실행하려고 하면 Ruby 오류가 여러 개 나요:
root@lists-import:/var/www/discourse/script/import_scripts# ruby mbox.rb mbox
fatal: detected dubious ownership in repository at ‘/var/www/discourse’
To add an exception for this directory, call:
“frozen String를 수정할 수 없음” 오류를 겪은 사람이 있나요? index.db는 정상적으로 생성되지만 카테고리 생성 단계에서 실패합니다.
root@xxxxxxxxxx:/var/www/discourse# import_mbox.sh
The mbox import is starting...
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
creating index
indexing files in /shared/import/data/xxxxx-xxxxxxx@xxxxxxx.com
indexing /shared/import/data/xxxxx-xxxxxxx@xxxxxxx.com/export.mbox
indexing replies and users
creating categories
/var/www/discourse/script/import_scripts/base.rb:447:in `strip!': **can't modify frozen String: "xxxxx-xxxxxxx@xxxxxxx.com" (****FrozenError****)**
from /var/www/discourse/script/import_scripts/base.rb:447:in `block in create_categories'
from /var/www/discourse/script/import_scripts/base.rb:438:in `each'
from /var/www/discourse/script/import_scripts/base.rb:438:in `create_categories'
from /var/www/discourse/script/import_scripts/mbox/importer.rb:50:in `import_categories'
from /var/www/discourse/script/import_scripts/mbox/importer.rb:34:in `execute'
from /var/www/discourse/script/import_scripts/base.rb:47:in `perform'
from script/import_scripts/mbox.rb:13:in `<module:Mbox>'
from script/import_scripts/mbox.rb:11:in `<module:ImportScripts>'
from script/import_scripts/mbox.rb:10:in `<main>'