以下步驟將教學利用Google Compute Engine 自我定期備份(Backup automatically):
1. 安裝 Google Cloud ( 如果用外部機器才需要裝,如果使用Google Compute Engine內建已安裝)
# Create an environment variable for the correct distribution
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
# Add the Cloud SDK distribution URI as a package source
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
2. 開啟該Instance的Cloud Engine API權限
# 如果還沒開機器可以再開機器的時候設定,已經開了就要停止機器用「編輯」做設定,須將Compute Engine的權限開啟為「讀寫」
3. 撰寫Script sh檔自動建立Snapshot並刪除昨日的Snapshot
# 新增一個執行檔
cd /home
sudo vim backup.sh
# 內容如下:主要是將昨日日期與今日日期標記在snapshot名稱
yesterday="$(date -d yesterday '+%Y%m%d')"
nowDate=$(date +%Y%m%d)
sudo gcloud compute disks snapshot [GOOGLE CLOUD ENGINE DISK NAME] --snapshot-names=backup-$nowDate --zone=asia-east1-a
gcloud compute snapshots delete backup-$yesterday
# 將執行檔轉為可執行
sudo chmod +x backup.sh
4. 將sh設定到Crontab中
sudo vim /etc/crontab
# 內容如下:看是要什麼時候執行該備份,以下為定期每日凌晨一點執行
0 1 * * * root /home/backup.sh
1. 安裝 Google Cloud ( 如果用外部機器才需要裝,如果使用Google Compute Engine內建已安裝)
# Create an environment variable for the correct distribution
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
# Add the Cloud SDK distribution URI as a package source
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
2. 開啟該Instance的Cloud Engine API權限
# 如果還沒開機器可以再開機器的時候設定,已經開了就要停止機器用「編輯」做設定,須將Compute Engine的權限開啟為「讀寫」
![]() |
停用Instance後可進行編輯,選取存取範圍為針對各個API設定存取權 |
![]() |
找到Compute Engine開啟讀寫,其餘不需更動 |
3. 撰寫Script sh檔自動建立Snapshot並刪除昨日的Snapshot
# 新增一個執行檔
cd /home
sudo vim backup.sh
# 內容如下:主要是將昨日日期與今日日期標記在snapshot名稱
yesterday="$(date -d yesterday '+%Y%m%d')"
nowDate=$(date +%Y%m%d)
sudo gcloud compute disks snapshot [GOOGLE CLOUD ENGINE DISK NAME] --snapshot-names=backup-$nowDate --zone=asia-east1-a
gcloud compute snapshots delete backup-$yesterday
# 將執行檔轉為可執行
sudo chmod +x backup.sh
4. 將sh設定到Crontab中
sudo vim /etc/crontab
# 內容如下:看是要什麼時候執行該備份,以下為定期每日凌晨一點執行
0 1 * * * root /home/backup.sh
留言
張貼留言