Discourse 포럼을 항상 복구할 수 있도록 보장하는 가장 기본적이면서도 확실한 방법은 무엇인가요?

수년간 저는 친구들이 직접 포럼을 호스팅하는 일을 도왔습니다.

저는 그들에게 Hetzner 서버를 임대하고 Discourse에서 자동 백업을 설정하도록 안내했으며, rclone과 cron 작업을 통해 백업을 제 Google Drive에 동기화했습니다. 각 포럼의 관리자는 제 Drive에서 자신만의 백업에 접근할 수 있습니다. 시스템 관리자가 아닌 저로서는 상상할 수 있는 가장 단순하고 안전한 방법입니다.

몇 차례 rClone에서 토큰이 갱신되지 않는 문제를 발견했습니다(적어도 하나의 인스턴스에서). 그래서 재설정해야 했습니다. 동기화가 실패해도 어떤 알림도 받지 않기 때문에, 저는 가끔씩 Drive를 직접 확인하여 마지막 백업이 최신 상태인지 수동으로 점검합니다.

만약 여러분이 자원봉사로서 누군가나 단체가 포럼을 호스팅하도록 돕는다면, 포럼이 어떤 이유로든 무너졌을 때 안전하게 복구할 수 있도록 백업이 항상 어딘가에 존재하도록 보장하기 위해 어떤 솔루션을 설정하시겠습니까?

나는 제한된 계정을 통해 ssh로 rsync를 사용하여 백업을 가져오고, 이를 cron 작업으로 실행한다. 사실 나는 직접 하지 않지만, 내 중 하나인 모드가 그렇게 하고 있다. 나는 업데이트를 수행할 때 백업을 생성하고 다운로드한다. 따라서 한 경우(모드의 cron 작업)에는 포럼 활동의 며칠치가 손실될 수 있고, 다른 경우(내 수동 백업)에는 한 달 이상 손실될 수 있다.

나도 내 자신의 crontab을 설정해야 할 것 같다. 또한 백업 빈도를 높일 수도 있다 - 현재 2일로 설정되어 있다.

두 경우 모두에서 우리는 각자의 시스템에 대해 상당히 유능한 관리자여야 한다. 우리 둘 다 다운로드한 사본과 자체 백업, 그리고 서버 자체를 모두 잃어야만 포럼이 완전히 손실된다.

수정: 좋은 지적이다. 프로세스가 정상적으로 작동하는지 확인할 수 있는 어떤 긍정적 확인 메커니즘이 필요하며, 다운로드한 백업이 정상적인지에 대해 아무리 얕은 수준이라도 어떤 개념이 있어야 한다.

도메인에 대해서는 특별한 주의를 기울이지 않았다: 이상적으로는 도메인도 이중 관리와 공동 소유의 어떤 형태를 가져야 한다. 만약 우리가 통제력을 잃게 된다면, 포럼은 새로운 도메인에서 다시 등장해야 할 것이다. 이메일을 통해 멤버들에게 다이제스트와 알림을 보낼 수 있으므로, 약간의 신뢰만 있다면 멤버들이 다시 가입할 수 있을 것이다.

백업에는 S3를 권장합니다. 안전을 원하신다면 포럼을 매일 백업하세요. 더 확실한 안전을 원하신다면 VPS도 백업하세요.

다음과 같은 자료도 있습니다:

음, 저는 데이터베이스를 매시간 백업하고 있어요 :man_shrugging: 이커머스도 같은 원리인데, 복원할 수 있고/원하는 가장 긴 시간 범위를 고려해야 하거든요.

restic를 사용하여 S3 및 외장 드라이브로 백업하기