s3에서 로컬로 파일을 마이그레이션하려고 합니다. 현재 s3의 모든 파일을 수동으로 uploads 폴더로 옮기고 있습니다. 이후 업로드 링크의 기본 URL을 포럼 기본 URL로 변경하는 것만으로도 작업이 완료되는 건가요?
내장된 rake 태스크를 왜 사용하지 않는 건가요? 제가 아는 한 uploads:migrate_from_s3라고 합니다.
cd /var/discourse
./launcher enter app
rake uploads:migrate_from_s3
그 다음 enable s3 uploads 사이트 설정을 비활성화하세요:
마지막으로 rebake를 실행하세요:
rake posts:rebake
제 s3가 minio라서 이 기능이 minio와 호환되는지 확실하지 않기 때문입니다.
이것을 시도해 보았는데, 작업이 끝난 후 업로드 파일에 변화가 보이지 않았습니다. 여전히 업로드 파일이 S3에서 서빙되고 있습니다. 참고로 이 rake 작업은 제게 좀 이상하게 느껴졌습니다. S3에 업로드된 파일이 수천 개나 있는데도 작업이 너무 빨리 끝났거든요. 꽤 걸려야 정상일 텐데 말이죠.
저는 모든 업로드 파일을 수동으로 로컬로 이전했습니다. 데이터베이스와 게시물에 있는 모든 링크를 직접 변경할 수 있는 방법이 있을까요? 이 rake 작업을 사용할 필요는 없습니다.
해결하셨나요? 저도 모든 자산(백업을 제외한 모든 것)을 S3에서 로컬로 다시 마이그레이션하려고 하고 있습니다. 쉬운 방법이 있을까요?
저도 비슷한 옵션을 찾고 있습니다. 하지만 이 사이트 어딘가에서 이 기능이 제대로 작동하려면 먼저 몇 가지 큰 문제를 해결해야 한다는 글을 읽었습니다. 그래서 당분간은 S3를 로컬로 옮기지 않는 것을 권장하고 있습니다.
그럼에도 불구하고 이 문제의 해결책을 간절히 기다리고 있습니다.
백업 시 S3 업로드를 로컬로 다운로드하는 기능으로 보이는 숨겨진 사이트 설정이 있습니다. 이 기능을 활용하여 다른 서버(또는 환경 변수를 통해 그림자 사이트 설정을 변경한 경우, 자신의 서버)로 복원할 수 있다고 생각합니다. 이는 계정 폐쇄 시 cdck가 수행하는 작업이며, 저는 이 방법으로 백업을 복원할 때 한 번도 문제가 없었습니다.
Rails 콘솔에서 SiteSetting.include_s3_uploads_in_backups = true 명령을 실행했습니다. 하지만 여전히 (그렇게 보이지만) 효과가 없었습니다. 백업 파일 크기는 여전히 동일했습니다(업로드 파일이 약 700MB에서 1GB 정도임에도 불구하고 약 375MB).)
'Shadowed site settings’가 Disco Web UI의 모든 S3 사이트 설정을 의미한다면, 해당 필드들에 모든 설정을 입력해 두었습니다.
저도 S3에서 로컬(별도 VPS)로의 업로드 마이그레이션을 고려하고 있습니다. 이에 대한 문서화된 절차가 있을까요?
그렇지는 않아요. 위에서 설명해 드린 설정을 사용해 보세요.
이러한 숨겨진 설정을 찾을 수 있는 방법이 있나요?
이 토론 맥락에서 필요할 수 있는 설정은 위에 언급되어 있습니다. Discourse 소스의 site_settings.yml 파일에서 모든 설정을 확인하실 수 있습니다.
이 rake 작업은 더 이상 2.9.0 BETA 8에서 사용할 수 없습니다.
S3에서 로컬로 마이그레이션하는 방법에 대해 아이디어를 알고 계신 분 있으신가요?
다운로드 백업 관련 설정, 즉 download_s3_with_backups라고 불리는 숨겨진 사이트 설정을 켜서 해당 백업을 복원할 수 있습니다. (정확한 이름은 아니지만 지금 휴대폰에서는 찾을 수가 없습니다.) 이렇게 하면 cdck 호스팅을 떠나는 과정에서 발생하는 문제를 해결할 수 있습니다. 테스트를 위해 다른 서버로 복원해야 할 수도 있습니다 (어쨌든 테스트를 위해서는 다른 서버로 복원해야 합니다).
수정: @Benjamin_D 감사합니다! include_s3_uploads_in_backups가 맞습니다.
이것인 것 같습니다:
아니요.
backup_with_uploads와 include_s3_uploads_in_backups는 서로 다른 옵션입니다. 전자는 백업에 로컬 파일을 포함하는 것이고, 후자는 백업을 생성할 때마다 S3에서 모든 파일을 다운로드하는 것입니다. 그리고 S3의 본질은 백업이 필요 없다는 점입니다.
즉, S3로 백업할 때 로컬 파일도 포함됩니다.
이것은 백업에 포함시키기 위해 S3 스토어에서 파일을 다운로드합니다(백업 대상이 로컬이든 S3이든 관계없이).
여기서 올바른 단계를 이해하려고 합니다. 목표는 S3의 모든 파일을 로컬로 이거하는 것이므로, 말씀하신 내용을 제가 이해한 대로 정리하면 다음과 같습니다:
- Rails 콘솔에서
backup_with_uploads를 활성화합니다. - 백업을 생성합니다(로컬 또는 S3).
- 해당 백업으로 복원합니다.
- Rails 콘솔에서
backup_with_uploads를 비활성화합니다.
이렇게 이해한 것이 맞나요?
자, S3에서 로컬로 옮기는 가장 좋은 방법은 실제로 무엇일까요? ![]()
- S3 옵션을 비활성화한 후 (optimized/original 폴더) 파일을 수동으로 옮기고, 그 후 post-rebake를 실행하는 방법?
- 숨겨진
download_s3_with_backups관리자 옵션을 사용하여 해당 파일을 다운로드하고 압축을 푸는 방법? rake uploads:migrate_from_s3를 실행하는 방법?
