在GCP上备份Minecraft服务器

はじめに

Qiitaでは初めて記事を書きます。あとそんなにGCP知らないです。
だから学びましょう。という記事を書こうと思っていたのですが1日目の方と、まるまる内容がかぶってしまいそうなので、MineCraftのサーバ建てることにしようとしたんですが、普通すぎてつまらないかなと思ったので、サーバのバックアップしてみることにしました。
【2015年版】AWS ユーザが Google Cloud Platform に15分で入門する!

GCPとは。

Google Cloud Platfromの略です。
Youtubeとかで使われてるインフラを提供してくれる感じですね。
似たようなサービスでMicrosoftのAzure、AmazonのAmazonWebService(AWS)がありますね!
という話も1日目でされています。

费用

在中国,最好使用谷歌云计算费用计算工具进行计算。这次我们将使用最便宜的Nearline存储在CloudStorage中。因为大约每1GB只需1美分,所以存储500GB只需要5美元加上网络使用费用就可以了。虽然如此,由于上传是免费的,所以费用不会太高。

第一次尝试

早速やってみましょう。

制作水桶

GCPのダッシュボードからCloud Storageを選択しバケットを作成します
名前は適当にストレージクラスはNearlineを選択します。場所は好きなところを。

gsutilコマンドを入れる

Install gsutilを見ながら進めていきます。
ZIPとかからインストールするのはとてもじゃないですが面倒なので、コマンドで入れていきます。

$ sudo apt-get install gcc python-dev python-setuptools libffi-dev
$ sudo apt-get install python-pip
$ sudo pip install -U gsutil

インストール後、以下のコマンドを実行しOAuth認証を行います。

$ gsutil config

設定後、コマンドを実行して作成したバケットが出てくれば成功です。

$ gsutil ls
gs://backet-name/

試しにアップロードしてみる。

我想试着上传 server.propties。

$ gsutil cp server.properties gs://backet-name/
Copying file://server.properties [Content-Type=application/octet-stream]...
Uploading   gs://backet-name/server.properties:         755 B/755 B  

我们来确认一下是否成功上传。

$ gsutil ls gs://backet-name/
gs://backet-name/server.properties

已经成功上传了。

备份世界数据。

让我们立即开始写下主题的脚本吧。

BACKUP_DATE=`date "+%Y%m%d_%H%M%S"`
COMMAND="gsutil cp -r world gs://backet-name/world_backup_${BACKUP_DATE}"
${COMMAND}

我想不出好方法。感觉可以更智能地解决。
然后只需使用Cron或类似的脚本定时运行,即可自动备份。

设定生命周期

如果继续保持这种状态,文件将永远累积下去。为了避免费用过高,我们应该自动设置生命周期来定期删除文件。

生命周期 – 获取或设置存储桶的生命周期配置。

{
  "rule":
  [
    {
      "action": {"type": "Delete"},
      "condition": {"age": 30}
    }
  ]
}

我觉得保持样本不变已经足够了,所以会正确设置日期并应用。

$ gsutil lifecycle set lifecycle_config.json gs://backet-name

概括起来

也许这种东西不仅仅可以在Minecraft中应用,而且价格便宜,所以请加油努力。非常抱歉这篇文章不太好。

bannerAds