懶惰之最|GitHub 實測

交接筆記刪錯,最新備份也沒了?restic 找回舊版的 100 份實測

2026-10-22|專案:restic/restic|Markdown 版

重點摘要

  • 100份自製筆記先備份,刪1份、覆寫1份後再備份,保留兩個快照。
  • 還原最新快照得到99份,誤刪檔案不存在。
  • 選回第一版還原,100/100份路徑與SHA256一致,誤刪檔與舊內容均恢復。
  • 輸入錯密碼時exit 1拒絕讀取;未測手機、雲端或硬碟故障。
  • 結論: 事先保留快照且選對時間點,本次100份自製筆記可完整還原。
  • 適合: 願意使用命令列,需保留文件歷史的人
  • 不適合: 期待一鍵救回從未備份檔案的人
實測項目 結果
第一版 100份
最新還原 99份
第一版還原 100/100內容一致
錯密碼 exit 1

假設你每週整理一次工作筆記,把以為過期的檔案刪掉。隔天同事問起上週交接內容,你才發現刪錯;偏偏昨晚又做過一次備份。這時最想知道的不是備份工具有哪些功能,而是:最新備份也沒有那份文件,還能不用重寫嗎?這是示意情境,以下結果來自自製資料測試,並非真實工作文件事故。

關鍵在於誤刪之前是否已留下備份,以及舊時間點是否仍保留。restic 的這次測試保留兩個快照,也就是兩個不同時間點的文件狀態。第二次備份後,第一版仍在;但若只還原最新版本,拿到的自然是誤刪之後的狀態。工具不會猜哪一份才是你真正需要的版本。

先建立可以核對的答案

測試設備:Mac mini M4 Pro(12 核、64GB)。受測版本為 restic 0.14.0,非最新版。沿用 2026-10-22 原片的真實測試與錄影,這次只重做敘事及圖示動畫,沒有重新跑陌生程式,也沒有新增手機、硬碟故障或雲端實測。動畫呈現測試結果,不是操作介面或新錄影。

原測先製作一百份繁體中文小筆記,保存各自的相對路徑及 SHA256,才能在還原後確認內容一致。第一輪備份留下一百份;接著刪掉一份、覆寫另一份,再做第二輪備份,來源剩九十九份,備份庫仍保留兩個快照。

restic -r /tmp/restic-demo/backup init
restic -r /tmp/restic-demo/backup backup /tmp/restic-demo/notes --json
restic -r /tmp/restic-demo/backup snapshots --json

這些是原測核心指令,路徑是自製示範資料,不是可以直接照抄的個人備份設定。初始化與存取需要密碼,正式使用時必須安排自己的備份位置與密碼保存方式。

最新備份只保存誤刪後的99份,並非工具漏備份

為什麼要選回第一版

先還原 latest,只得到九十九份,刪掉的文件確實不存在。這不是還原失敗,而是選到錯誤時間點:第二版就是少一份的樣子。改選第一個快照,再還原到另一個資料夾,才有機會拿回需要的舊內容,也避免直接覆蓋現在的文件。

restic -r /tmp/restic-demo/backup restore latest --target /tmp/restic-demo/latest
restic -r /tmp/restic-demo/backup restore <誤刪前的快照ID> --target /tmp/restic-demo/restored

原測的來源是絕對路徑,還原目錄內會包含來源路徑層次;核對時實際進入還原的筆記目錄,再逐份比較,不能只看目標根目錄就下結論。

原測項目 結果
第一版備份 100 份,0.735 秒
刪1份、覆寫1份後再備份 99 份,0.745 秒
還原最新版本 99 份,誤刪檔不存在
還原第一版 100 份,0.747 秒
路徑與內容指紋 100/100 完全一致
錯密碼讀取 exit 1,拒絕讀取

第一版還原後,100份內容全部一致

連被覆寫的舊文字都找回,才是這次真正有用的結論。時間來自單次小樣本,不代表整碟或照片庫速度;原錄影重跑的首次備份為0.711秒、第一版還原為0.792秒,不混成同一次量測,也不挑最快數字宣傳。

我會拿來做什麼

若經常修改工作文件,願意使用命令列,我會考慮用 restic 保留可選擇的歷史版本。若只想手機一鍵救回從沒備份過的檔案,這次沒有證明那種能力。錯密碼被拒絕也只是存取測試,不能當完整安全稽核。

另外,同一顆硬碟壞掉時,文件及同處備份都可能失去;這次沒有驗證異地備援、自動排程、大量資料或硬體故障。要減少重寫交接筆記的麻煩,先在事情發生前備份,再練習選對時間點、另存還原,才是可帶走的作法。

專案:restic/restic。授權:BSD-2-Clause。原測證據、實錄與版本資料保留於本成品的 evidence 目錄;原始修改意見另存,沒有公開發布。

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測