使用Gitlab 自動定時匯出備份Notion資料

Rice Chang
Pycone 松果城市
Feb 24, 2021
Photo by Sigmund on Unsplash

這是我在搜尋Notion自動備份的時候找到的一篇文章

現在Notion API 還在private beta中,此文的作者用一些開發者技巧去偷偷用了Notion API來下載Project Export的檔案,然後用Gitlab的repository當做一個免費的備份空間(不會被公開),並且用Gitlab的CICD功能去實現腳本自動備份,還可以設定自己要的備份間隔。

我實作之後遇到一個問題就是,作者是用unzip去解壓縮export之後的.zip檔,而我很多page的標題是中文的,所以解壓縮出來的中文檔名都變成亂碼,這牽扯到文字編碼的問題。

查了查,我其實不太會去操作一些容器環境的問題,所以一個對我來講比較簡單的方式就是改寫作者的python腳本和bash腳本,改成用python去做解壓縮的這件事情。

底下是我更新過後的腳本,執行起來沒什麼問題。

這個備份對我來講的用意就是,至少哪天Notion爆炸了,我還有一個地方可以去查找以前的資料。而且gitlab上面也可以直接瀏覽md檔的內容。

當然放Gitlab上也是有可能有風險,備份這件事情就是不怕一萬只怕萬一,評估成本和價值去另外多幾個備份位置就是另外一件事情了。

當然其實懂程式的人就可以自己腳本裡面的程式,在自己的電腦或者伺服器上面做自動備份。

最後就是,不知道未來Notion會不會把他的API改掉,根據各網路服務的歷史,這件事情是非常有可能的,所以哪天有可能這個腳本就不能用了,也希望到那天的時候,Notion就有正式的公開API或者有更好的備份功能。

希望這篇文章對於Notion的使用者會有點幫助,雖然可能需要一些程式背景的人會比較容易懂。

--

--