백업이 더 이상 수행되지 않습니다

3월 초쯤부터 Discourse 백업이 실행되지 않고 있습니다.

설정은 변경하지 않았지만, Discourse 업그레이드가 있었을 가능성이 있습니다(사실 있었던 것으로 보입니다).

백업은 로컬 저장소에 수행되며, 설정 중 최대 백업 수를 3, 백업 주기를 3으로 변경한 것을 제외하면 나머지 설정은 모두 기본값으로 유지되고 있습니다.

수동 백업은 정상적으로 작동하지만, 수동 백업을 수행할 때 백업 파일이 이전에 tar.gz 파일이었던 것과 달리 이제는 sql.gz 형식인 것을 확인했습니다.

그러나 자동 백업은 실행되지 않거나 실행되는 것처럼 보일 뿐, 오류 보고도 없습니다. 백업 화면에는 “사용 가능한 백업 없음.”이라고 표시되며(수일 전에 수행한 수동 백업도 이제는 사라진 상태입니다), 백업 ➤ 로그에는 “아직 로그가 없습니다…”라고 표시됩니다.

서버(디지털 오션 드롭렛 전체)를 재시작해 보았지만, 백업이 재개되지 않았습니다.

버전 정보는 2.6.3으로 최신 상태라고 표시되며, stable 브랜치를 사용 중입니다(latest 브랜치가 아닙니다).

어떤 제안이 있을까요?

모든 업로드가 S3에 저장되어 있는 한 이는 예상되는 현상입니다. 이 경우 백업 파일은 압축된 데이터베이스 덤프만 포함합니다.

/logs를 확인해 주시겠습니까? 백업과 관련될 수 있는 오류가 있는지 확인해 주세요.
또한 시스템이 실패한 백업에 대해 개인 메시지(PM)를 보냈는지 /u/system/messages/sent를 확인해 주세요. 특정 상황에서 관리자가 해당 PM에 대한 통지를 받지 못하도록 하는 버그가 있었습니다.

수동 백업까지 사라진 점은 다소 우려스럽습니다. maximum_backups를 3으로 설정했기 때문에 어떻게 그렇게 될 수 있는지 정확히 알 수 없습니다. 백업을 이동/삭제하거나, 새로운 파일 확장자(sql.gz 대신 tar.gz)와 호환되지 않는 크론 작업(cronjob)이나 스크립트를 설정해 보셨나요?
백업 파일이 실제로 존재하지 않는 건가요? ls /var/discourse/shared/standalone/backups/default 명령을 실행하면 어떤 결과가 나오나요?

이는 정상적인 현상입니다. 로그는 수동 백업의 출력만 표시합니다.

방금 확인해 보니 2.6 릴리스 이후 백업 코드에 관련 변경 사항이 없었습니다.

제 업로드는 S3에 저장된 것이 하나도 없으며, 모두 로컬에 저장되어 있습니다.

보이는 건 없습니다. 항상 보던 TypeError들의 무더기만 있습니다. "backup"으로 검색해 보면 포럼 주제 페이지에 "backup"이라는 단어가 포함된 경우와 관련된 TypeError들만 찾을 수 있습니다.

아, “Backup failed” 메시지가 여러 개 있네요. 왜 이들에 대한 알림을 받지 않는 걸까요?

음, 왜 보고로 이 메시지가 안 오는지 모르겠지만, 여기에는 다음과 같은 오류가 나 있습니다:

[2021-04-08 03:35:35] Removing tmp ‘/var/www/discourse/tmp/backups/default/2021-04-08-033313’ directory…
[2021-04-08 03:35:35] Gzipping archive, this may take a while…
[2021-04-08 03:38:49] EXCEPTION: lib/discourse.rb:92:in `exec’: Failed to gzip archive.

gzip: /var/www/discourse/public/backups/default/keyboard-maestro-discourse-2021-04-08-033313-v20201116132948.tar.gz: No space left on device

사실 그것은 외부 스크립트입니다 - 백업을 영구 저장용으로 다른 기계로 복사한 후 서버에 공간을 남기기 위해 삭제합니다(하지만 Apparently 공간이 충분히 남지 않은 것 같습니다).

따라서 남은 질문들은 다음과 같습니다:

  • 왜 이 오류 메시지에 대한 알림을 전혀 받지 못하는 걸까요?
  • 실제 백업이 .tar.gz 파일인 반면, 수동 백업이 .sql.gz 파일인 이유는 무엇인가요(둘 다 로컬에 있는 업로드를 포함해야 합니다)?
  • 왜 수동 백업은 작동하는데 자동 백업은 공간 부족으로 실패하는 걸까요(아마도 관련이 있을 것 같고, 수동 백업이 실제로 업로드를 포함하지 않아 더 작은 크기일 수 있으며, 그렇게 보이지만 적절한 크기처럼 보입니다)?
  • 그리고 가장 명백한 질문 - 서버에 추가 공간을 어떻게 확보할 수 있을까요? [편집: 음, ./launcher cleanup을 실행하니 15GB의 공간이 확보되어 차이를 만들 수 있을 것 같습니다].

음, 이제 문제가 무엇인지는 알았으니, 첫 번째 질문에 대한 답을 정말 알고 싶습니다. 당연히 이 문제에 대해 알았어야 하니까요. 이 메시지는 누구에게 이메일로 보내지거나 누구에게 알림이 가는 건가요? 앞으로 이러한 메시지를 어떻게 알 수 있게 할 수 있을까요?

감사합니다!

말씀드린 것처럼, 최근 베타 버전 릴리스 중 하나에서 수정된 버그가 있었습니다.

UI에서 백업을 생성할 때 팝업되는 대화상자에서 업로드 파일 없이 수동 백업을 생성하도록 선택하셨을 가능성이 큽니다.

고맙습니다. 그럼 문제없겠네요. 백업을 다시 한번 확인하고, 백업을 만들 때 실수로 다른 버튼을 눌렀는지 점검해 보겠습니다.

정말 감사합니다!