Obsidian / 백업 설계 및 복원 확인

남길 범위와 되돌릴 수 있는 상태를 결정합니다

Obsidian의 백업 설계
Git·File Recovery·별도 저장 역할

이 페이지는 일본어 원문을 기계 번역한 것입니다. 일본어 원문 보기

노트를 잃어 잃기 전에, 어떤 본문이나 설정을 남기고, 어느 위치에서 되돌릴 수 있는지 결정합니다. 저자가 만든 작은 예시로, Git의 이전 버전, File Recovery의 오래된 본문, 보관함 외부 복사본에서 복원된 것을 확인했습니다. 세 가지 방법이 수행하는 역할과 이 연습에서 확인하지 못한 범위를 구분합니다.

「이전 버전으로 되돌리기」와「다른 저장 위치」를 구분하여 설계합니다

백업 계획에서는, 무엇을 남길지, 어느 시점으로 되돌릴지, 저장 대상이 어디인지, 실제로 되돌린 내용을 어떻게 확인할지 결정합니다. 동기화 설정이 있거나 파일이 현재 보이는 것만으로는 필요한 구버전과 저장 범위가 모두 갖추어져 있는지 알 수 없습니다.

  1. Git의 과거 버전commit에 포함된 하나의 본문을 별칭 파일로 추출합니다
  2. File Recovery앱의 로컬 기록에서 오래된 본문을 선택하고 복원하여 다시 표시합니다
  3. 보관함 외부의 복사선택한 세 개의 Markdown을 새로운 다른 장소에서 엽니다

세 개 모두 실제로 확인한 국소적인 예시입니다. 보관함 외부의 복사도 동일한 파일 시스템 내에서 독립적인 물리 장치나 클라우드를 사용한 결과가 아닙니다. 세 가지 방법이 있다는 것을 세 개의 독립된 매체에 저장할 수 있었다는 증거로 간주하지 않습니다.

먼저, 남을 범위와 저장 대상을 정합니다

자신의 보관함에서 필요한 항목을 목록화하고, 복원 대상에서 확인할 항목에 연결합니다. 아래는 계획을 위한 항목이며, 이 연습이 모든 것을 저장·복원했다는 표가 아닙니다.

결정 항목확인할 내용이번 실연
노트 본문필요한 Markdown의 이름, 상대 경로, 어느 시점의 본문세 개의 복사 복원, 하나의 Git 기록, 다른 파일 복구 노트
첨첨 및 참조이미지·PDF 등의 저장 위치와 본문에서 참조할 수 있는 내용첨첨은 미검증되었습니다. 내부 링크는 복사 예시의 세 개의 Markdown만
설정·플러인.obsidian의 설정, 필요한 플러그인 및 그 데이터를 포함하는 범위설정 및 플러그인 데이터의 백업·복원은 미검증
저장 위치원품 저장 장치와의 독립성, 읽어들일 수 있는 권한, 보관 방법보관함 외부에서도 동일한 실행 파일 시스템입니다. 독립 매체·클라우드는 검증되지 않았습니다
빈도와 유지되돌리고 싶은 시점, 남은 구버전, 구버전을 삭제하는 방침단일 복사본과 두 개의 Git 커밋, File Recovery를 두 번 자연 저장합니다. 장기 보유 및 정기 운용은 아직 검증되지 않았습니다
복원 연습다른 복원 대상, 본문·설정·첨단·링크를 대조하는 절차와 일정선택한 본문·상대 경로·실 링크·재표시를 확인합니다. 복구 소요 시간 및 고장 시 복구는 측정되지 않았습니다

「어떤 시점까지 변경이 남아야 하는지」와 「되돌리기까지 필요한 시간」도 자신의 용도에 따라 결정합니다. 이번에는 RPO/RTO 및 복구 시간 목표 달성을 측정하지 않았습니다. 복사 빈도를 결정하는 것과 과거 버전을 일정 기간 남길 수 있는 것은 별개의 확인 항목입니다.

1. Git: 커밋한 본문의 이전 버전을 별칭으로 가져오기

Git 예제는 연습용 Git履歴メモ.md 하나를 대상으로 합니다. 최초 본문을 commit한 뒤 실제 Obsidian 편집기에서 확인 항목을 변경해 저장하고 두 번째 commit을 만들었습니다. 그런 다음 이전 commit의 실제 blob을 새 Git復元メモ.md로 추출해 실제 앱에서 열었습니다. 변경 후의 원본 파일은 유지했습니다.

두 개의 커밋은 부모와 자식 관계를 가지고 있으며, 본문의 blob도 다릅니다. Git에서 추적한 것은 이 하나의 Markdown뿐이며, 복원 대상인 새로운 노트와 File Recovery용 노트, 설정은 추적되지 않았습니다. 보관함 전체가 기록에 포함되어 있다는 결과가 아닙니다.

Git 복원 메모를 열고, 과거 Git 기록 메모에 저장하기 전 본문을 읽는 항목이 표시되고 있습니다
새로운 별명의 노트에서 이전 커밋 본문을 실제로 표시합니다. 상단 파일명과 본문의 제목이 다른 이유는 본문을 변경하지 않고 별명으로 추출했기 때문입니다. 원본 이미지를 엽니다

반환된 실 Markdown의 전체 텍스트입니다. 시연 이전의 blob, 복원 파일, 배포 원본은 동일한 98바이트의 UTF‐8였습니다.

# Git履歴メモ

著者作成の練習です。

- 確認項目: 保存前の本文を読む。

손으로 확인하는 경우에는 먼저 대상의 상태와 이력을 읽고, 되돌리고 싶은 커밋과 경로를 선택합니다. 다음은 읽기 형태를 보여주는 예시입니다. <commit>은 자신의 기록 값으로 교체합니다.

git status --short -- "Git履歴メモ.md"
git log --oneline -- "Git履歴メモ.md"
git show "<commit>:Git履歴メモ.md"

꺼낼 대상은 원본 노트와 구별할 수 있는사용되지 않은 새로운 이름을 선택하고, 오래된 본문을 읽은 후 채택할 내용을 결정합니다. 이 시연의 Git 작업은 로컬 셸에서 수행되며, Obsidian Git 플러그인, remote, push/pull, 자동 commit, 다른 장치에 반영하는 것은 시도하지 않았습니다. Commit에 포함되지 않은 파일을 되돌릴 수 있다고는 처리하지 않습니다.

2. File Recovery:로컬 기록의 오래된 본문을 선택하여 복원합니다

보충 시연의 설정 화면은 영어 UI입니다. 실제로 Settings → Core plugins → File recovery 스위치를 활성화하고 파일 복구 설정을 열었습니다. Snapshot interval의 초기값 5분을 검증용으로 일시적으로 0.05분으로 변경하고, 그 후 0.5분으로 변경하고 있습니다. History length는 7일이라고 표시되었지만, 7일간의 유지에 대해 검증하지 않았습니다.

File recovery 설정 화면의 스냅샷 간격이 0.5이고, History length가 7이며, View 버튼이 표시되고 있습니다.
실제 설정 UI. 0.5분은 이 연습에서 변경한 값입니다. 기본값이나 권장 설정으로 제시하지 않습니다. 원본 이미지 열기

0.5분은 이력 사이의 최소 간격 설정이며, 반드시 30초마다 저장한다는 뜻은 아닙니다. 이 버전의 코어에는 보류된 저장을 다시 시도하는 60초 타이머가 있습니다. 이번에는 실제 편집기에서 저장한 A와 B가 보류 상태가 된 뒤 정상 타이머에 의해 이력에 추가되는 것을 확인했습니다. 검증자가 이력 데이터베이스에 직접 쓰거나 이력 생성 API를 호출하지 않았습니다.

  1. A를 실제 편집기로 저장합니다. 「먼저 남긴 본문을 확인」을 포함하는 A를 입력하십시오. 저장된 파일을 대조하고, 보류 상태와 아직 A의 기록이 없음을 확인했습니다.
  2. 자연 보존을 확인합니다. 약 60초 후에 A가 기록에 들어갔습니다. 다음으로 B에 실제 편집하여 저장하고, 약 58초 후의 다른 자연 저장에서 B가 들어갔습니다. 두 번의 관측으로는 보편적인 소요 시간을 보장하지 않습니다.
  3. 오래된 본문을 화면에서 선택합니다. View을 눌러 복구 메모를 검색하고, 최신 B와 이전 A를 각각 선택하여 본문을 읽었습니다.
  4. 복원하여 다시 표시합니다. A를 선택한 상태에서 실제 Restore을 눌렀습니다. 저장 파일이 A와 일치하고, 다른 노트로 이동한 뒤 실제 파일 탐색기로 복구 메모를 다시 열어도 동일한 본문이었습니다.
File Recovery의 최신 B행을 선택하고, 의도한 변경 후의 본문을 확인한다는 문장이 표시되고 있습니다
최신 B를 실제 화면에서 선택합니다. 저자 작성 변경 후 본문입니다. 원본 이미지 열기
File Recovery의 한 번 앞선 A줄을 선택하고, 먼저 남긴 본문을 확인한다는 문구와 Restore 버튼이 표시되고 있습니다
이전 A를 실제 화면에서 선택하고, 이 본문을 복원했습니다. 원본 이미지 열기

UI에는 A가 “44 B”, B가 “47 B”라고 표시되었습니다. 배포 파일 대조에 사용한 실제 UTF‐8는 A가 110바이트, B가 119바이트입니다. UI 표시값을 UTF‐8의 바이트 수로 사용하고 있지 않습니다. Restore 후에 복원한 A가 새로운 기록 행에도 추가되었습니다. 이 추가 행은 복원 작업에 의한 결과이며, 앞선 A·B의 자연 보존 증거와 구별됩니다.

File Recovery에서 복원 후 복구 메모를 다시 열고, 먼저 남긴 본문을 확인한다는 문구가 표시됩니다
실 파일 탐색기로 다시 열어낸 A. 복원 전에 선택한 본문, 저장된 원본, 재표시 후의 SHA256이 일치했습니다. 원본 이미지 열기

복원된 A의 열매 Markdown 전체 텍스트입니다. 표시된 오래된 A와 최종 저장 파일은 동일한 110 바이트였습니다.

# 回復メモ

著者作成の練習です。

- 保存する項目: 先に残した本文を確認する。

이 결과는 이번 로컬 프로필에 존재했던 기록에서 하나의 본문을 되돌린 것입니다. File Recovery의 기록이 독립된 백업 장치에 저장된 결과가 아닙니다. 프로필 이전, 앱 재설치, 히스토리 DB 손상, 장기 보관, 삭제된 파일 복구는 시도하지 않았습니다.

3. 보관함 외부의 복사본: 본문·계층·링크를 다른 장소에서 확인합니다

원본 복제 시연에서는 저자가 만든 세 개의 Markdown을 보관함 외부에 보관하고, 원본과는 다른 새로운 복원처로 되돌렸습니다. 索引.md에서 ノート/観察メモ.md와 ノート/確認メモ.md으로 연결하는 구성입니다. 파일 이름과 상대 경로를 유지했습니다.

索引.md
ノート/
  観察メモ.md
  確認メモ.md

복사 후, 검증자는 자신의 연습용 보관함에서만 하나의 본문을 수정하고, 하나의 노트를 삭제했습니다. 복사 측의 세 원문은 보존하고 있습니다. 복원은 원래 상태로 덮어쓰지 않고, 다른 새로운 장소에서 수행했습니다. 독자가 연습할 때도 원본 노트를 유지한 채 별도의 연습용 복사본과 복원 대상을 준비할 수 있습니다.

다른 복원 대상 관찰 메모에 복사 전 본문과 확인 메모에 대한 링크가 표시되고 있습니다
복사 전 관찰 메모의 본문을 다른 복원 대상에서 실제로 표시합니다. 세 개의 복원된 Markdown은 초기 원본과 bytes/hash가 일치했습니다. 원본 이미지 열기

복원된 관찰 메모의 전체 내용입니다.

# 観察メモ

コピー前の本文です。これは実際の利用者のデータではありません。

関連する確認は [[ノート/確認メモ|確認メモ]] に残します。

인덱스에서 확인 메모로 실제 링크를 클릭하면, 원래 제거한 대상이 복원 대상에 표시되었습니다. '색인으로 돌아가기'를 누르면 색인으로 돌아갈 수 있습니다. 그 후, 실제 파일 탐색기에서 인덱스를 다시 열어 세 개의 저장 Markdown이 변하지 않았는지 확인했습니다.

복원 대상 확인 메모에 원본 문장과 링크 대상을 확인하는 문장 및 인덱스로 돌아가는 링크가 표시되고 있습니다
복원 대상 인덱스에서 실제 링크로 연 확인 메모. 상대 경로와 링크 대상을 확인하고 있습니다. 원본 이미지를 엽니다
복원 대상의 인덱스를 다시 열면 세 개의 노트와 두 개의 내부 링크가 표시됩니다
실 파일 탐색기에서 인덱스를 다시 표시합니다. 저장된 세 개의 본문은 변하지 않았습니다. 원본 이미지 열기

인덱스의 실제 Markdown도 전체를 게재합니다.

# 索引

著者作成の復元練習です。

- [[ノート/観察メモ|観察メモを開く]]
- [[ノート/確認メモ|確認メモを開く]]

대상은 세 개의 Markdown만이며, 설정 및 첨부 파일은 복사하지 않았습니다. 복사본은 보관함 밖에서도 동일한 실행 파일 시스템 내에 있습니다. 독립된 저장 장치와 클라우드, 고장·재해로부터 복구할 수 있는지는 백업 계획에 별도로 남아 있는 항목입니다.

자신의 보관함에서 복원 연습을 하는 순서

  1. 저장 대상을 내보냅니다. Markdown만 포함할지, 설정·첨부·필요한 기록도 포함할지를 결정하고, 이름과 상대 경로를 기록합니다.
  2. 저장 대상과 구버전을 확인합니다. 어디에 남을지, 원래 장치와 독립되어 있는지, 되돌리고 싶은 시점의 판이 남아 있는지 확인합니다.
  3. 원을 유지하고 다른 장소에서 시험합니다. 새로운 복원 대상에서 선택한 본문·설정·첨단이 필요한 상태로 돌아갈지 확인합니다.
  4. 링크와 재표시를 확인합니다. 본문에서 참조 대상을 열고, 파일을 다시 열어 저장된 내용을 대조합니다.
  5. 결과와 미확인 항목을 남깁니다. 사용한 버전, 저장 범위, 저장 대상, 복원한 시점, 필요했던 시간을 기록하고, 정기적으로 확인할 일정을 정합니다.

이는 독자 자신이 계획하기 위한 절차입니다. 독자의 보관함, 정기 백업, 동기화 서비스, 독립 매체를 이 연습으로 검증한 것이 아닙니다. 동기와의 조합을 조사하는 입구는 Obsidian의 동기 방식 가이드입니다.

원본을 저장하고, 판과 본문을 비교합니다

여덟 개의 Markdown은 각 시연의 보존 원본입니다. 복사 예시의 세 개는 원래 일본어 이름으로 저장하고, 관찰 메모·확인 메모를 ノート 폴더 내부에 배치합니다. 브라우저는 해당 폴더를 자동으로 생성하지 않습니다. 비교용 파일과 Git·File Recovery의 예는 별명으로 저장하고, 세 개의 복원 세트에 덮어쓰지 않는 곳에서 읽어 비교합니다.

실연·상태배포 원본 및 보존명
복사 복원:索引.md索引.md
복사 복원:ノート/観察メモ.md観察メモ.md
복사 복원:ノート/確認メモ.md確認メモ.md
비교 전용: 변경 후 관찰 메모変更後-観察メモ.md
Git:과거 blob에서 별명으로 되돌린 본문Git復元メモ.md
Git:두 번째 커밋의 변경 후 본문Git変更後-履歴メモ.md
File Recovery:오래된 A(최종 복원과 일치)FileRecovery旧版-回復メモ.md
File Recovery:변경 후 BFileRecovery変更後-回復メモ.md

영문자 배포 URL은 상태를 구분하는 별명입니다. 복사 예시 본문 내 위키링크는 일본어 원본 상대 경로를 유지합니다. 영문 이름을 그대로 두는 경우에는 링크도 확인합니다. 배포 파일을 독자가 실제 애플리케이션에 가져오는 작업과 Git 기록 자체의 배포는 수행하지 않습니다.

자주 묻는 질문

동기화가 작동하고 있다면, 백업 확인은 필요하지 않습니까?
동기화를 설정한 사실만으로는 이전 본문으로 되돌릴 수 있는지, 독립된 저장 대상이 있는지는 알 수 없습니다. 사용 방식의 이력, 복구 가능한 범위, 저장 위치를 확인합니다. 이 연습은 동기화를 사용하지 않았으며, Obsidian Sync 및 iCloud의 복원을 시도하지 않았습니다.
Git와 File Recovery를 실제로 사용해 확인하셨나요?
Git에서는 하나의 연습용 Markdown에 두 개의 커밋을 만들고, 이전 blob을 새로운 별명 파일로 되돌려 실제 Obsidian으로 읽었습니다. File Recovery에서는 실제 편집기에서 저장한 A·B가 자연스러운 타이머로 기록에 들어가고, 오래된 A를 화면에서 선택하여 복원하며, 저장 및 재표시를 확인했습니다. 자동 Git 백업, 원격, 장기 보유는 아직 검증되지 않았습니다.
보관함 전체와 고장 시 복구까지 확인하셨습니까?
복사 예시는 세 개의 Markdown만 있으며, 설정 및 첨부는 포함되지 않습니다. 저장 대상도 동일한 실행 파일 시스템 내에 있습니다. 독립된 물리 장치, 클라우드, 고장 및 재해, 기록 보존 기간, 보관함 전체의 복구는 시도하지 않았습니다. Git와 File Recovery의 국소 복구 결과와 저장소 전체 복구를 별도로 확인합니다.
배포 Markdown은 어느 이름과 위치에 저장합니까?
복사 예시는 索引.md을 배치하고, ノート 폴더 내부에 観察メモ.md와 確認メモ.md을 배치합니다. 브라우저는 폴더를 자동으로 생성하지 않습니다. 변경 후의 비교 파일과 Git 및 File Recovery 예는 구분 가능한 별명으로 저장하고, 복원 세트에 덮어쓰지 않습니다. 영문 배포명을 사용할 경우 본문의 링크도 확인해 주세요.

검증 방법 및 결과 범위

  • 실제 앱:Linux 버전 Obsidian 1.13.7. 설정의 General 화면에서 app/installer를 확인하고, 저자가 만든 일본어 노트를 사용하십시오. 커뮤니티 플러그인을 사용하고 있지 않습니다.
  • 복사 예:선택한 Markdown의 준비, 복사, 연습용 본문 변경·삭제, 다른 복원 대상에 대한 복사는 쉘 조작입니다. 실제 GUI에서 본문·링크·재표시를 확인했습니다.
  • Git:seed와 로컬 Git의 commit/과거 blob 추출은 shell입니다. 변경은 실제 편집기에서 저장하고, 복구 대상을 실제 파일 탐색기에서 열어 읽었습니다. Git 플러그인과 remote는 사용되지 않았습니다.
  • File Recovery:활성화와 설정은 실제 UI입니다. A/B는 실제 편집기에서 입력·저장하고, 자연스러운 코어 타이머의 기록을 실제 화면에서 선택하여 Restore, 저장 및 재표시를 확인했습니다.
  • 보조와 원본:profile 초기 구성은 직접 설정하고, 앱 상태·보류 상태·이력 내용의 대조는 읽기 API입니다. 검증자에 의한 기록 생성 API 및 DB 쓰기는 없습니다. 게시된 PNG는 가공되지 않은 실제 화면이며, Markdown은 원본과 동일한 바이트입니다.
  • 남는 범위:보관함 전체, 설정·첨부, 독립 장치, 클라우드, 장기 보유, 고장, 동기화, 다중 단말기, iOS/Android/macOS, SimpleMemo 배송, 속도·생산성·유입 효과는 검증되지 않았습니다.

검증 기록 및 원본의 대응에 복사 시연 및 보충 시연 원본, 실제 UI와 보조, 초기 작업 selector의 문제와 종료 확인 범위를 기록하고 있습니다. 정상 종료를 유지한 시도를 종료 코드가 남아 있지 않은 초기 시도로 거슬러 올라가 적용하지 않습니다.

본 사이트는 YURIKA, K.K.가 운영하며, 독립 앱 “SimpleMemo”을 소개하고 있습니다. Obsidian 공식에 의한 기사가 아닙니다.