在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中应用,而且价格便宜,所以请加油努力。非常抱歉这篇文章不太好。