同步方案總覽#
用 obsidian 已經兩年了,對於 Obsidian 的多端同步,我最終採用了如下的同步和備份方案
- 阿里雲 OSS 進行同步
- Windows 定時任務壓縮 Obsidian 目錄到另一文件夾做備份
原因解釋#
為什麼採用這種方式呢?
之前我一直採用 OneDrive 同步 + GitHub 倉庫的方式進行備份
OneDrive 同步不足#
但 onedrive 沒有提供 webdav 服務(或者是我找不到),然後我用Koofr工具生成了 OneDrive 的 webdav 服務,這種方式並不好,因為Koofr的服務有時候不穩定,並且速度也不好,經常導致remotely-save插件同步失敗(畢竟不是官方服務)。
GitHub 備份不足#
至於備份,我則是定期將 obsidian 整個庫文件同步到 GitHub 倉庫,其中包括我的 Obsidian 配置(當然是私人倉庫哈),但是最近我發現我的備份目錄越來越大(1.5GB),查看 Obsidian 庫文件,只有 250MB,一看.git 文件,我的天,有 1GB 多,我也不是程序員,不敢亂刪,如果保持現狀下次遷移系統就要把整個目錄拷貝過去才能做到無縫備份,而且我發現現在我 git push 好慢好慢(非網絡問題)
備份真的超級超級重要,像筆記這種東西丟了真的要急死人,我在一次重裝系統的時候就忘記備份我的筆記了,正在傷心之時,我突然想到:該,我不是在 GitHub 上備份了整個 Obsidian 文件夾嗎?直接 pull 下來,沒有任何損失,筆記回來了,配置也一個沒丟
方案實施#
阿里雲 OSS 同步#
既然不用 OneDrive 同步,那麼用其他網盤服務?我之前用過堅果雲,同步體驗也不是很好,不太穩定,且月流量只有 1GB,做筆記是夠用了,但是我還有其他同步服務。綜合當前的不足,最終決定採用阿里雲(當然其他廠家也可以,如七牛雲)OSS,購買了 3 年 40GB 27 元的標準資源包(對於這種經常需要讀寫的文件還是買標準資源包好),價格還是挺實惠的,40GB 足夠記筆記用了,還可以用來搭建圖床
阿里端需要進行的配置#
首先購買阿里雲對象存儲 oss 資源包,我買的是3 年 27 元 40GB 標準版套餐,可根據自己需求購買
購買完成之後進入控制台,點擊左側的Bucket列表
,創建一個 Bucket,隨意命名,地區選擇離自己最近的,其他的不用管
創建完成之後進入 Bucket,點擊數據安全
裡面的跨域設置
,創建一個規則,來源
填寫
app://obsidian.md
capacitor://localhost
http://localhost
允許Methods
全部勾選 ,允許 Header
填寫:* ,填寫完成點擊確定即可
接著需要授權一個用戶來訪問和管理 Bucket,點擊阿里雲右上角頭像裡面的AccessKey 管理
,如果顯示這樣點擊開始使用子用戶AccessKey
即可
接著我們會來到身份管理的用戶管理界面,我們創建一個用戶登錄名稱和顯示名稱隨便寫,這裡我設置為和我創建的 Bucket 名稱保持一致,便於辨認,訪問方式記得勾選OpenAPI 調用訪問
點擊確定創建完成後會顯示你的AccessKey ID
和 AccessKey Secret
,要複製下來,這個頁面只會顯示一次
接著我們回到 Bucket 頁面點擊權限控制
裡面的Bucket 授權策略
,新增一個授權,為剛才創建的用戶授權,授權用戶
勾選子賬號
,然後選擇剛剛創建的用戶,授權操作
勾選完全控制
,其他的不用管,點擊確定即完成 Bucket 策略授權
Obsidian 端需要進行的配置#
這裡我們還是採用的remotely-save插件,沒有安裝的朋友直接在社區插件市場搜索安裝即可(需要代理工具)
remotely-save的遠程服務我們選擇S3 或兼容 S3的服務
,接著我們回到 Bucket 的管理界面,需要找到 Bucket 的服務地址(Endpoint)和區域(Region),點擊 Bucket 的概覽
,複製地區節點對應的信息,粘貼到 Obsidian,然後把剛剛創建用戶時複製的AccessKey ID
和 AccessKey Secret
粘貼到對應位置,存儲桶(Bucket)的名字填寫你創建的 Bucket 的名稱
如果你在同步過程中遇到因為 region 錯誤而導致無法訪問到對應的存儲桶,則可以將 region 更改為 ap-east-1,根據官方提供的文檔,這個對應的是亞太地區的香港區域
到這裡,同步部分已經配置完成了,先點擊檢查看一下是否能連通,如果能連通,就說明配置正確,你可以在remotely-save設置自動同步,我一般是設置每5分鐘自動同步
和啟動後第1秒自動同步
Windows 定時任務備份#
備份的問題剛剛也說了,.git 文件夾過大,網上說可以把.git 文件夾刪掉,重開一個倉庫,但是這樣畢竟不能根治,還麻煩,而且 git 自身在國內備份速度也慢,現在棄用了這種方式,想了好久,我決定採用 Windows 定時任務,每天打開電腦的時候使用 Winrar 對 Obsidian 整個文件夾壓縮後備份到 D:\Backups 這個目錄(我的谷歌雲盤同步了這個目錄)具體步驟如下
win+R 後輸入taskschd.msc
,回車,點擊右側的創建基本任務
,名稱和描述隨便填寫,任務開始時間選擇當前用戶登陸時
,任務執行的操作就選擇啟動程序
,程序或腳本填寫 WinRAR 程序的路徑,可選參數填寫
a -r -ep1 -ibck "參數1" "參數2"
如果你是 7zip 用戶,程序或腳本填寫 7zip 程序的路徑,可選參數填寫
a -r -bb1 -bd "參數1" "參數2"
參數 1 寫將文件壓縮為哪個路徑下的什麼文件,比如這裡我寫 D:\Backups\obsidian,就會將其壓縮為 D:\Backups\ 路徑下的 obsidian.rar 文件;如果是 7zip 則默認壓縮為 obsidian.7z 文件,你也可以指定文件類型,直接將參數 1 改為 D:\Backups\obsidian.zip,這樣就會被壓縮為 zip 文件
參數 2 寫你 Obsidian 庫的文件夾地址即可
這樣就大功告成了,我經常用 Google 雲盤備份,因為它可以隨意選擇備份目錄,速度也不錯(當然需要代理),你也可以將參數 1 寫為你 Onedrive 的路徑(mac 則為 iCloud),這樣就能自動備份到雲盤
寫在最後#
這裡要說明一下,你購買了阿里雲 OSS 的資源包,還要為上傳下載流量付費,對象存儲 OSS 資源包(包月)定價詳情
所以記得為你的阿里雲充值一些錢,對於筆記來說,流量一般不會用的很多,一年都不一定超過六塊錢,但是欠費過久可能會被回收(會有欠費提醒,欠費額度一般為 10 元),所以保險起見,給你的阿里雲賬號充值 5 塊錢比較好
付費帶來的體驗當然是質的提升,阿里雲 OSS 同步速度真的太快了,太絲滑了
重要的東西都是需要採取 “三次備份” 原則,這裡我們本地算一份,壓縮後的文件算一份,雲端的壓縮包文件算一份,即採用了這種原則。無論什麼時候
記得備份!!記得備份!!記得備份!!