星期日, 17 8 月, 2025
No Result
View All Result
育心文具行

育心文具行

  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我
育心文具行
  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我
No Result
View All Result
育心文具行
Home 筆記x備忘

使用 Dropbox 實作異地備份

2024-06-20
in 筆記x備忘
Reading Time:6 mins read
A A
0

這邊是以線上運作中的 web 網站作為目標備份,備份包含運作中、不包含git內的上傳檔案、資料庫資料內容。不包含系統環境、環境設定檔。在講異地備份之前,提一下自己心目中的異地備份服務是從 VPS 廠商出發的:

  1. 如果資料庫是獨立服務,可以把資料庫當成一個獨立伺服器的運作方式,如果不是,則需要定期/手動操作把 sql 檔案轉換出來。
  2. 對於一個獨立伺服器,確定他是否使用額外硬碟。如果是額外硬碟責備份額外硬碟即可。
  3. 廠商提供備份與下載服務。如果沒有下載,應該也能夠提供備份至不同地區的資料中心的服務。
  4. 提供備援(備份且恢復資料)服務。

如果廠商提供異地備援(備份+還原)的功能,這會是好的。需要考慮的有:

  1. 網站使用的狀態,會考慮到需要備份的頻率。
  2. 網站重要性。是否不能斷線?是否有資安問題、金流問題?是否實時有用戶在使用?
  3. 有沒有需要備份可編輯的原始碼?
  4. 能不能正確的抵擋天災、人禍?

—

這次因為種種原因,以從系統環境的層級著手處理異地備份。

異地備份如果要把檔案下載到電腦上再儲存起來實嫌麻煩,嘗試讓他跟自己常用的服務做雲端傳輸就好。於是我選了使用 Dropbox 做備份,筆記下來。

實作的目標是:備份檔案、資料庫。
使用的服務與環境是:debian 11, dropbox, Dropbox-Uploader, mysql_backup.sh

這邊採用手動單次操作,如果需要用 cront job 動作的話要請配置好一個 script。

手動操作的流程是:

  1. zip 要備份的檔案
  2. 透過 dropbox-uploader 上傳
  3. backup mysql 資料庫們
  4. 透過 dropbox-uploader 上傳

幾個注意事項:

  1. 網站檔案記得先 zip ,要不檔案(尤其是 uploads/ )多到會瘋掉。
  2. 資料庫備份預設會被壓縮成 .sql.gz 。
  3. mysql 備份檔案內不會有對 database 的 use / drop / create 動作,要的話要自己加。
  4. dropbox-uploader 會執行多個會單個操作,其實沒啥影響,都是用同一個 upload 指令。
  5. 如果使用終端機 ssh 進去 server 的話,建議 keep session 操作避免長時間等待不小心離線,我是使用 screen 來實現,這是介紹。

再來關於兩個 shell script 的操作說明。

—

關於 mysql_backup.sh 操作:

請先下載 shell 或是創建以後複製貼上,記得更新權限

chmod +x mysql_backup.sh

設定其中的資料夾位置、帳號密碼,如果 mysql 路徑不一樣的話記得變更 PATH 變數, KEEP_BACKUPS_FOR 他會檢查路徑中舊的檔案來保留/移除,如果是用 cron job 動作的話好用。

這定完成以後執行即可,會有資訊顯示。

./backup_mysql.sh

—

關於 Dropbox-Uploader 的操作:

首先先下載 script

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh

設定權限並且執行他

chmod +x dropbox_uploader.sh
./dropbox_uploader.sh

系統會提示怎麼做,主要幾個步驟:

  1. 請開啟 dropbox developer 創建一個 app ,選擇 App folder 的 type 並且創建好名字。
  2. 創建完之後,在 Permissions 的 tab 中選擇 “files.metadata.read/write” 和 “files.content.read/write” 這四個權限。記得點擊 Submit 送出。
  3. 在 Settings 的 tab 中找到 App key 並且點擊 show 顯示 App secret ,記錄起來。
  4. 回到指令列上,依照要求輸入 key, secret
  5. 接著會跳出 access token 的請求網址,用瀏覽器開啟,會得到一組 token,依照要求把這組 token 輸入進去。
  6. 提示是否確認,輸入確認「y」之後就可以使用了。

可用的指令可參考官網,這邊附上範例和中文翻譯:

基本上會使用到的就是 upload 這個指令而已。

另外,如果資料輸入錯誤,或是手動上傳完畢了不想留資料,除了移除 dropbox 的 app 之外,記得執行刪除設定檔的動作:

rm ~/.dropbox_uploader

以上。

—

同場加映

Bash Script to backup all MySQL databases

gist.github.com

Bash Script to backup all MySQL databases. GitHub Gist: instantly share code, notes, and snippets.

GitHub – andreafabrizi/Dropbox-Uploader: Dropbox Uploader is a BASH script which can be used to …

github.com

Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service. – …

backup – mysqldump with create database line – Stack Overflow

stackoverflow.com

Tags: backupdebiandropbox備份雲端備份
Share22Tweet14
Previous Post

ionCube 加密/混淆 PHP for Codeigniter4 筆記

Next Post

解決 Sublime text 4 上 Package Control 無法使用的問題

Related Posts

閒談x雜記

伺服器轉移的 Check List

伺服器轉移的時機點包括了: 更換系統(e...

2024-03-16
100
筆記x備忘

Linux SSH 斷線後保持 session 的工具 – Screen

紀錄一下之前用很久的一個 linux 套...

2023-10-09
100
Load More
Next Post

解決 Sublime text 4 上 Package Control 無法使用的問題

伺服器轉移的 Check List

ChatGPT 的 Sublime Text4 外掛

全站搜尋

No Result
View All Result

關於我

育心文具行

Jerry Lin

程式設計師

育心文具行是一家文具店,老闆的小兒子是一個設計師,職業是設計程式,興趣是設計人,倒是還沒有實作的機會。
--
所有的相遇都不是巧合。
在廣告公司待了三年有兩年多在做內容產品,離職後繼續在內容產業走了四年多,最後選則離開台灣的公司體制在家 SOHO ,碰上了 2020 年疫情才知道原來自己這是走在時代的潮流尖端。 感謝許多老闆和貴人相助,至今目前尚能存活,在台北街頭努力著。

近期文章

  • LLM 生成參數清單與說明
  • 使用 google 的 Gemini CLI 來製作字幕
  • 2025-07-29 社交模式檢討
  • 2025-07-25 社交模式檢討
  • 2025-07-12 N8N Workshop 筆記心得

分類

  • 心得x體驗 (47)
  • 筆記x備忘 (79)
  • 閒談x雜記 (15)

贊助買咖啡

Facebook Instagram RSS

標籤

android ci4 cloudflare Codeigniter codeigniter 4 flutter git ios linode linux MAC macos nginx php plugin QBQ!問題背後的問題 server work sublime sublime text vps vue.js vue3 What if What If? 如果這樣,會怎樣? wordpress 備份 原則 團隊,從傳球開始 團隊,從傳球開始:五百年都難以超越的 UCLA 傳奇教練伍登培養優越人才和團隊的領導心法 外掛 如果這樣,會怎樣?:胡思亂想的搞怪趣問 正經認真的科學妙答 媒體識讀 工作的原則 心得 意志力 活動心得 灰階思考 第三部分 第二部分 第四部分 股癌 自慢10 自慢10:18項修練 謝孟恭 讀書心得

文章分類

  • 心得x體驗 (47)
  • 筆記x備忘 (79)
  • 閒談x雜記 (15)

近期文章

  • LLM 生成參數清單與說明
  • 使用 google 的 Gemini CLI 來製作字幕
  • 2025-07-29 社交模式檢討
  • 2025-07-25 社交模式檢討
  • 2025-07-12 N8N Workshop 筆記心得

近期留言

  • 「Bolin Lai」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言
  • 「Jerry Lin」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言
  • 「JCL」於〈WordPress 之中藍新金流開啟後, Elementor 外掛有時會打不開的問題處理〉發佈留言

文章月曆

2025 年 8 月
日 一 二 三 四 五 六
 12
3456789
10111213141516
17181920212223
24252627282930
31  
« 7 月    

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.

No Result
View All Result
  • 首頁
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 我的工具箱
  • 關於我

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.