星期四, 19 6 月, 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 年疫情才知道原來自己這是走在時代的潮流尖端。 感謝許多老闆和貴人相助,至今目前尚能存活,在台北街頭努力著。

近期文章

  • 於 MacOS 中,整合自然語言,自動化添加行事曆事件
  • 使用 deepwiki-open 針對程式碼產生 WIKI
  • 使用 Tailwind CLI 快速建立靜態 CSS 檔的基本步驟
  • Visual Studio Code 的 PHP CS Fixer 設定
  • MacOS 添加本地伺服器的 DNS

分類

  • 心得x體驗 (45)
  • 筆記x備忘 (77)
  • 閒談x雜記 (13)

贊助買咖啡

Facebook Instagram RSS

標籤

ai android cloudflare flutter git ios javascript linode linux MAC macos mis nginx php plugin QBQ!問題背後的問題 server work sublime sublime text vps vue.js vue3 What if What If? 如果這樣,會怎樣? wordpress 前端 原則 原子習慣 團隊,從傳球開始 團隊,從傳球開始:五百年都難以超越的 UCLA 傳奇教練伍登培養優越人才和團隊的領導心法 壓力測試 外掛 如果這樣,會怎樣?:胡思亂想的搞怪趣問 正經認真的科學妙答 心得 情緒 活動心得 灰階思考 約翰‧漢尼斯 股癌 自慢10 自慢10:18項修練 記錄 謝孟恭 讀書心得 這一生,你想留下什麼?

文章分類

  • 心得x體驗 (45)
  • 筆記x備忘 (77)
  • 閒談x雜記 (13)

近期文章

  • 於 MacOS 中,整合自然語言,自動化添加行事曆事件
  • 使用 deepwiki-open 針對程式碼產生 WIKI
  • 使用 Tailwind CLI 快速建立靜態 CSS 檔的基本步驟
  • Visual Studio Code 的 PHP CS Fixer 設定
  • MacOS 添加本地伺服器的 DNS

近期留言

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

文章月曆

2025 年 6 月
日 一 二 三 四 五 六
1234567
891011121314
15161718192021
22232425262728
2930  
« 5 月    

© 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.