我的備份SOP (2025版)

我的備份SOP (2025版)

數位時代下,個人與家庭資料的安全性與完整性日益重要。我在2018年寫過一版當時的備份SOP。7年後,我更新了目前我所使用的,如何在多裝置、大資料量的家庭環境中,建立一套高效且可靠的備份SOP。如果你的環境比較簡單,可以用下面的簡易版本SOP作備份:

  1. 異質備份:以大容量外接硬碟作為資料備份與歸檔的主要媒介。
    • 將所有日常工作文件、重要家庭照片及影像等「熱資料」定期備份至外接硬碟。
    • 對於不再頻繁使用但具長期保存價值的「冷資料」(如已完成專案的原始檔、高解析度照片RAW檔),定期將其歸檔/搬移至大容量外接硬碟,以釋放主力設備空間。
  2. 異地防護:採用 Backblaze 進行雲端遠端備份。
    • 僅依賴本地實體儲存仍不足以抵禦區域性災害(如火災、水患或竊盜)。因此,建議利用如 Backblaze 這類提供個人電腦無限儲存空間的雲端備份服務,作為異地備份解決方案。
    • 策略性運用: 對於儲存於外接硬碟中的歸檔資料,可規劃每半年將該外接硬碟連接至主力電腦數日。此舉將使 Backblaze 偵測到並自動將這些歸檔資料納入遠端備份範圍,以極低的邊際成本實現冷資料的異地防護。

如果你對完整版的備份SOP有興趣,想了解我的心路歷程,或是想知道我怎麼處理較複雜的架構,可以繼續看下去。

閱讀全文

n8n Workflow: 在Karakeep 打星就分享到 Twitter

n8n Workflow: 在Karakeep 打星就分享到 Twitter

上週從Pocket跳船到 Karakeep 之後,由於 IFTTT 不支援 Karakeep,之前 IFTTT 上的「打星就分享到 twitter流程」就沒得用了。

正好也想用 n8n 玩點花樣,於是就到 n8n 上試著寫個 workflow 來做這件事。

個人血淚提醒:
使用 docker compose down 時千萬不要加 “- v” (也就是不要下 docker compose down -v)。
一般來說 -v 會讓人想到 –verbose;但在 docker compose 裡是把已經建好的 volume 移除 (remove),包含之前所有輸入的資料,workflow,以及設定。

我寫到一半要加個功能,想要rebuild container時,粗心大意直接 copy & paste chatGPT 給的指令,然後兩天的心血就…消失了。後面問 chatGPT 他還理直氣壯說我又沒有說要保存 volume 資料… Orz

以下的內容是先請 AI 分析我寫的 workflow,然後我再補充。
這樣產生說明文件的方式真的很快。不過某些我覺得重要的節點(node)還是會被略過。得要手動指定或是手動加入。

workflow 拆成兩個部份:

  • Karakeep_webhook_queue.json:接收 Karakeep 更新書籤時所送出的 webhook,稍後由 Karakeep_share 批次處理。
  • Karakeep_share.json:把已經打星的書籤分享到 Twitter,並把已經分享過的書籤歸到 “shared” 列表中。

我請AI 從功能、架構與流程、重要節點的設定方式等三個面向進行分析。

閱讀全文

從 pocket 跳船到 Karakeep

從 pocket 跳船到 Karakeep

從 gslin 那邊看到 Pocket 要收攤的消息:《 Pocket 總算要關掉了…
Pocket 這種「稍後閱讀 (Read it Later)」的工具,在我 GTD 的流程裡扮演了一個很重要的角色。
需要閱讀的東西,用方便的小工具 (早期是 bookmarklet,現在是 iOS的 share 跟 browser 的 extension) 丟進去 pool 裡,讀完的 archive 起來。 早期還會想要分類下 tag,但後來實在太麻煩,而且全文搜尋太好用,就不下 tag 或分類了。

我記得早期我是用 Instapaper 的,(可能是) 2014年初轉到 Pocket
當 Mozilla 買下 Pocket,我也沒什麼在意。頂多是後來帳號整合在一塊,登入的時候,要想一下用哪個密碼 (其實也不用記,有自動填入)。

之後就一直留在 Pocket 沒移動過。一直到 Mozilla 決定關掉這個服務為止,我才驚醒:哇!工作流程要被影響了!

即使現在有那麼多 AI powered,跟桌面程式深度整合的「資訊整合/閱讀」服務,我還是用著古老的 Pocket 跟 Simplenote。一個負責連結,一個負責文字、其他、和初步整理。深度的整理現在是在 Obsidian 上進行,閱讀後的發佈和分享則是交給 blog / twitter / thread 等。閱讀網路文章時,如果覺得適合分享,又不需要(或不適合)打太多心得,早期我用小海的 twitthat,後來就把 Pocket 打星的文章經過 IFTTT串到 twitter上。這麼做,已經很多年了。

但事情來了,就要面對。
於是這一週就花了兩天處理跳船的事情。
處理的同時,也在擔心 Simplenote 的狀況:跟 Pocket 一樣,被大型服務 (Automattic,就是Wordpress的那家公司)併購後,Simplenote 的開發一直…處於放生的狀態。雖然說服務只要穩定就好,不一定要一直疊加功能上去,但 Simplenote 的狀況比 Pocket 更悲戚一些:沒有穩定的付費模式,本來開放的 API 陸續收回 (雖然某程度上還有辦法用),第三方的工具一直隕落,也一直缺乏和其他服務的串接 (沒有太多自動化的機會),也沒有針對AI 世代有什麼明顯的回應

簡單來說,就是一個放著 run,燒不了太多錢,但也沒有花心力維護的服務。

但他還是我用過最「方便」,最順手,也留在我GTD 工具清單最久的工具之一。

這樣一個服務,要是某天 Automatic 把它關掉,我應該會哀嚎得更大聲。

好了,扯遠了。

回到 Pocket 跳船。

閱讀全文

Colab + WhisperX 將音檔轉成逐字稿

Colab + WhisperX 將音檔轉成逐字稿

前幾天在聽podcast時聽到一段不錯的內容,不過因為我用的不是 Apple Podcast, 沒有逐字稿,索性把之前在 colab 上跑的 fast whisper 拿出來用。但因為 podcast 是對談,想分不同的講者,於是找了一下有沒有 solution。發現大多是用 pyannote 去進行說話人分割 (diarization),然後再 對齊 (align)。 目前 whisperX 已經有支援。

whisperX 之前有「停更」過一段,今年又恢復更新。於是找了些資料,把 colab 的版本架了起來。後面又發現中文的斷句和標點有些麻煩, GPT 介紹的幾個作法不是不好用,就是有幻覺。最後還是選擇直接叫 GPT 來修飾文字,畢竟本來就是語言模型。

過程中發現 ChatGPT 很有耐心地關心我的需求和碰到的錯誤,真的像是要一步步地帶著我完成所有的程式碼。雖然產出的東西偶爾會有錯,我也會自己手殘去修改一些我要的邏輯。不過如果回饋給他,他會記住,並且在後續的版本持續完善整個程式碼。

這些 code 完全由我自己寫的已經 <50% 了, vibe coding 真是驚人。

閱讀全文

遊民週記 46: 新螢幕和校色

遊民週記 46: 新螢幕和校色

把病養好後,本週開始開turbo 趕進度回到之前的生活型態。
結果好像有點趕過頭了,星期三跟朋友聊天還在說自己很忙,星期四就突然不知道要做什麼事了。

事後回顧,其實也不是沒事做,待辦事項跟計畫還是有許多項目要完成。
只是當下突然沒有「即刻應該做」或是「當下想要做」的事。
才會有「啊~~~~ 這就是退休後很無聊、不知道做什麼事的感覺嗎?」

然後過了一天,又回到有事情做的日子了。

閱讀全文

在kodi 裡自動選好繁中字幕

在kodi 裡自動選好繁中字幕

如果你在 Kodi v21 裡碰到影片不會自動出現字幕,或是字幕總是先選擇了簡體中文,
可以試試以下的作法:

  1. 安裝 addon: service -> Language Preference Manager
  2. 打開 ” Turn on subtitles if a subtitle preference matched” 選項
  3. 設定 Subtitle Preference -> Enable Preference 以及 Language : Chinese
  4. 設定 Subtitle Keyword List: Simplified

閱讀全文

從Pocket Money (PM) 跳船到Moze 3

從Pocket Money (PM) 跳船到Moze 3

我用行動裝置記帳已經超過15年了。紀錄的第一筆是2002年9月18日,一直到現在已經有超過兩萬筆以上的紀錄 (還不包括2002-2007年的現金交易記錄)。對我而言,從一個記帳軟體跳到另一個,除了要考慮軟體好不好用,美不美觀,功能順不順手,最重要的,是資料能不能搬過去。

我的備份SOP (2018版)

我的備份SOP (2018版)

最近剛添購新硬碟,把一顆服役快九年的主力硬碟給換了下來。利用空間上新的優勢 (1TB –> 4TB),重新整理了資料存放的配置,也一併把備份策略再修改過。要了解這一個版本的脈絡,可以對著我的備份SOP (2016版) 跟 我的備份SOP 一起看,會更清楚。