2017-01-24 6 views
0

Google Compute Engineのインスタンスがあり、自動スナップショット/画像バックアップを実行したい 5時間ごとにインスタンスにスナップショット/イメージを作成するスケジュールジョブのようにする必要があります。Google Compute Engineでスナップショットや画像を自動的にバックアップする方法

私はCronの仕事とはできることを読んだが、どうやってそれをするのか理解できない。

自動スナップショット/イメージの操作方法を教えてください。

ありがとうございます。

答えて

1

.shスクリプトを作成して、gcloudコマンドでスナップショットを作成することができます。これは、新しい増分スナップショットあなたが(例えば、夜にそれを実行するためにcronを作成)を実行するたびに作成されます

# Settings 
GCLOUD_PROJECT="my-project" 
SERVICE_ACCOUNT_JSON="location to service account json" 
DISK_NAME="my-disk" 
GCE_ZONE="europe-west1-d" 
DATETIME=`date "+%Y-%m-%d-%H-%M-%S"` 

# authenticate first 
export CLOUDSDK_PYTHON_SITEPACKAGES=1 
gcloud auth activate-service-account --key-file $SERVICE_ACCOUNT_JSON --project $GCLOUD_PROJECT 

# sync => empty filesystem buffers 
sync 

# make the actual snapshot 
gcloud --project $GCLOUD_PROJECT compute disks snapshot $DISK_NAME --zone $GCE_ZONE --snapshot-names $DISK_NAME-$DATETIME 

:これは私たちが使用しているスクリプトです。次に行う必要があるのは、保持するスナップショットの数を決定することです。私たちは5つのスナップショットを保持し、5つ前のスナップショットを削除する次のスクリプトを作成しました。最初のスクリプトの30分後にこのスクリプトを実行して、スナップショットの作成が完了したことを確認します。

# Settings 
GCLOUD_PROJECT="my-project" 
SERVICE_ACCOUNT_JSON="location to service account json" 
DISK_NAME="my-disk" 
GCE_ZONE="europe-west1-d" 

# authenticate first 
export CLOUDSDK_PYTHON_SITEPACKAGES=1 
gcloud auth activate-service-account --key-file $SERVICE_ACCOUNT_JSON --project $GCLOUD_PROJECT 

# list snapshots 
snapshot_list=($(gcloud --project $GCLOUD_PROJECT compute snapshots list --sort-by NAME --regexp "$DISK_NAME-.*" | tail -n +2 | awk '{print $1}')) 

keep_index=$(expr ${#snapshot_list[*]} - 5) 

for i in $(seq 0 $keep_index); 
do 
    gcloud --project $GCLOUD_PROJECT compute snapshots delete ${snapshot_list[i]} -q 
done 
+0

ありがとうございます。それは私のために役立つようです。 cronとshファイルを接続する方法を教えてください。つまり、私はこのshファイルを作成しましたが、X時間ごとに実行するようにGoogleに指示するにはどうすればいいですか?私はgcloudでこのスクリプトを実行すべきですか? Google Cloudを初めて使用していて、どこから始めたらいいか混乱しています...このコードは役立ちますが、説明した他の手順を実行する方法を教えてください。 –

+0

gcloudは、Google Cloud Platformでジョブを実行するためのコマンドラインツールです。すでにGCPで起動しているLinuxインスタンスにインストールする必要があります。コマンドラインでgcloudと入力するだけでテストできます。あなたの仕事を認可するには、適切な権限でサービスアカウントを作成する必要があります。コンソールのIAMで作成することができます。 –

+0

cronについては、 "crontab -e"コマンドで新しいcronを追加することができます。次のような行を追加する必要があります:0 */5 * * */command/to/run cronの可能性とオプションに関する詳細を知りたい場合は、インターネット上で多くのガイドがあります。 –

関連する問題