Centos6+Ubuntu14 定時把資料壓縮備份到Google Drive (Updated: 2017-12-27)

google_drive

我在Github 找到一個Gdrive的程式可以幫助你加密tar.gz然後備份到Google Drive去
系統: Centos 6, Ubuntu 14+
Github源碼:https://github.com/ookangzheng/gdrive-upload
1. 第一步,把以下代碼複製到ssh 里

wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg  
mv gdrive /usr/sbin/gdrive  
chmod 755 /usr/sbin/gdrive
  1. 第二部,輸入 drive 這個指令,系統會回傳一行類似這樣的http網址,複製把它用瀏覽器打開,並且用你的Google賬號登入
  1. 第三部,使用Google賬號登入后,然後會跳出一個Textbox,裡面會有一個亂碼的東西,把它複製
  2. 貼上在你的ssh (會看到這一段 Enter verification code: ) 這個Code很重要,下面的定時備份也需要哦~~ 在pass關鍵字那邊貼上
  3. 這樣就搞定啦~~

最後我們設定系統Cron自動備份
1. 在你的ssh 你 /root 資料夾底下 vi server-backup.sh (創建一個執行檔案)


#!/bin/sh

# tar the server directory
tar -zcf "server-backup-$(date '+%Y-%m-%d').tar.gz" /home/wwwroot

# encrypt the tar
openssl aes-256-cbc -a -salt -in "server-backup-$(date '+%Y-%m-%d').tar.gz" -out "server-backup-$(date '+%Y-%m-%d').tar.gz.enc" -pass 'pass:ReAlLyLoNgAnDcOmPlExPaSsWoRd' 

# remove the original tar
rm -rf "server-backup-$(date '+%Y-%m-%d').tar.gz"

# upload to google drive
drive upload --file "server-backup-$(date '+%Y-%m-%d').tar.gz.enc"
  1. 接著修改權限 chmod 500 /root/server-backup.sh
echo "0 2 * * * root /scripts/server-backup.sh" >> /etc/crontab

每天凌晨2點

這樣就搞定XD