운영
오류 알림 · 처리 현황 · AI 이용 통계와 자료 보강 목록 · 보관 기준과 백업. 숫자는 서버가 이 화면을 연 순간 읽은 값이다.
알림
실패한 발행 단계 · 자료실 처리 · AI 질문 · 메일 발송 · 파일 업로드를 서버가 정해진 간격으로 살펴, 새 실패를 한 건씩 기록한다. 발행 단계와 자료실 작업은 자동 재시도가 모두 끝나 사람이 다시 시도해야 할 때 알린다. 같은 실패는 다시 알리지 않는다.
| 수준 | 종류 | 발생(한국 시간) | 내용 | 내보냄 | 확인 |
|---|---|---|---|---|---|
| 알림을 읽는 중… | |||||
처리 현황
카드를 누르면 해당 화면으로 간다. 실패는 그 화면에서 다시 시도한다(발행 단계의 「다시 시도」·자료실의 「다시 처리」).
읽는 중…
AI 통계 · 자료 보강 목록
「AI에게 묻기」 이용 통계 최근 30일 · 질문 원문은 저장하지 않는다
읽는 중…
자료 보강 목록 근거를 찾지 못해 보류한 질문 — 어떤 자료를 더 채우면 좋을지 본다
보관 기준
서버가 1시간마다 보관 기간이 지난 기록을 정리한다. 기본값은 방문 원시 기록 400일 · 개선 의견 기본 400일(처리 완료한 것만) · AI 질문 기록 400일 · 자료실 처리 기록 90일(성공한 것만)이다. 기간은 서버 환경변수(.env)로 바꾼다.
| 대상 | 보관(일) | 환경변수 | 지우는 기준 | 이 시각보다 오래된 것 |
|---|---|---|---|---|
| 읽는 중… | ||||
백업 · 복구 안내
- 백업(서버를 멈추지 않아도 된다): npm run backup -- --out <백업 폴더> — DB 표마다 db/<표>.jsonl(행·해시), data/(files·sim·covers·outbox 복사), manifest.json(행 수·마이그레이션 목록)이 만들어진다. 관리자 계정·API 키·로그인 세션은 빼낸다(운영에서 새로 만든다. 계정까지 넣으려면 --with-accounts).
- 복구: 새(빈) DB 를 가리키는 .env 로 npm run restore -- --from <백업 폴더> — 마이그레이션 → 표마다 행 넣기 → 행 수 대조 → 파일 복사. 대상 DB 에 자료가 있으면 멈춘다(덮지 않는다).
- DB 만 따로: SQLite 는 서버를 멈추고 data/channel.sqlite(+-wal·-shm)를 복사, MariaDB 는 mysqldump --single-transaction knowledge_channel.
- 자료실 파일은 data/files 안에 있어 위 data/ 복사에 이미 들어간다. 방문 기록은 원시 기록이 정리돼도 날짜별 합계(visit_daily)가 백업에 남는다.
- 매주 백업 결과를 서버 밖으로 옮겼는지 확인한다.
백업에 들어가는 표(scripts/backup.mjs 기준)
- 발행·브리핑: briefings · briefing_versions · ingest_log · content_items · content_versions · content_events · content_editions · publish_runs · publish_stages · publish_stage_log
- 구독·메일: subscribers · subscription_events · mail_log
- 파일·검색·AI: files · sim_checks · search_docs · search_chunks · search_meta · ask_log · ai_usage · ask_cache
- 관리자 확장: visit_events · visit_daily · reactions · feedback · library_folders · library_items · library_texts · library_jobs · ai_policies · ops_alerts
- 기본으로 뺀다: admins · api_clients(계정), 로그인 세션