這篇是在筆記如何使用自動化備份的程式,因為上傳 google drive 的 python
檔案是參考其他人的方法,有部分細節自己也不是很懂(但是能夠執行成功就是了),程式碼都在參考文章裡面,就不額外提供囉!
目的是為了要在每天的半夜 12 點,把資料庫 export 成一個檔案,並且上傳到 google drive 裡面,使用的技術包含了 crontab
以及參考了一份 dataUpload.py
檔案,並且申請了一個雲端帳號來做存放。
mysqldump -h 0.0.0.0 -u root -ppassword nckuhub > nckuhub.sql
python3 /root/dataBackup/dataUpload.py
nckuhub.sql
config.json
、 dataUpload.py
config.json
,並且參考裡頭的 gdrive_auto_backup.py
改名成 dataUpload.py
dataUpload.py
裡的開頭註解有說要先 pip3 install
哪些套件crontab -e
做編輯,但是在 /etc/crontab 下面寫入,似乎機器就會跑了,可以省去執行指令crontab
檔案裡面的時間定期的跑(目前是每天晚上 0:00 時會備份上傳一次)import
時都要使用 絕對路徑
Service account 看起來是一個專門提供 google api 的地方,讓別人間接的透過他去 access 到 user,另外user account (nckuhub@gmail.com) 並不是 service account,所以在 dataUpload.py
裡面還有要特別去授權給某個 email address,如果不授權的話沒辦法進到 service 的 google drive 裡頭(即使是用 user 去生出一個 service account,但是上傳到 gdrive 這動作是進到 ==service== 的帳戶而不是 user 的),值得一提是,service account 沒辦法透過瀏覽器登入(Differences 那篇文章有提到,建議看一看~才比較看得懂我的筆記)
參考文章 Automated Google Drive File Backup 、Differences between service/user account
有時候開 google chrome 登入 nckuhub G-Drive 沒辦法下載 sql 檔案,這時候要透過無痕視窗才可以下載,很怪,似乎跟 cache 有關