【Minecraft】バックアップ用スクリプト書いてみた


ここ最近の話ですが、私が運営しているMinecraftのマルチ鯖でマップが過去のデータに戻る現象が何度かありました。

うちの鯖では非公式拡張バージョンのbukkitを利用しているのですが、ログを見ても原因が特定できませんでした。
ただ、過去のデータが読み込まれる直前に友人が整地(TNTやエンチャント装備での高速伐採など)をやっていたということから、鯖に負荷がかかったのが原因ではないかと推測できます。

ネットで調べたところ、Minecraftはバックアップデータを1つだけ用意する作りになっており、非常事態の場合はこのデータをロードするとの記述がいくつか見られました。
うちの鯖もこれに該当するのかなぁと思います。

で、定期的に手動でバックアップすることにしたのですが、毎回マニュアルでのバックアップは面倒なのでスクリプトを書いてみました。

今回書いたのは以下のようなスクリプト。

#!/bin/sh
# 現在の時刻を取得します。
day=`date +"%Y%m%d%k%M%S"`;
directory="bkp/""bkp_"$day;
# バックアップ保存用のディレクトリを作成します。
mkdir $directory;
# worldのコピーを作成します。
cp -r world $directory;
# world_netherのコピーを作成します。
cp -r world_nether $directory;
# world_the_endのコピーを作成します。
cp -r world_the_end $directory;
# ディレクトリをZIP圧縮します。
zip -r $directory".zip" $directory;
# 作成したバックアップ保存用ディレクトリを削除します。
rm -rf $directory;
# 変数の開放
unset directory;
unset day;

内容はコメントを見てもらえば分かりますが、ワールドデータを一つのZIPファイルにして保存しようというものです。

動作は確認済みで、ちゃんとZIPファイルが生成されます。
こちらに置きましたので、興味のある方は使ってみてください。

既存の終了スクリプトに組み込んでしまうのも良いかもしれませんね。
私は終了スクリプトにも上記プログラムを移植して使うようにしました。

あと、本スクリプトを実行する前に「bkp」ディレクトリを先に作ってください。
Linuxだと、「mkdir bkp」で作ることができます。

本スクリプトはマルチ鯖が停止中に実行することを前提に作っていますので、起動中には絶対に実行しないでください。
最悪の場合、ワールドデータが破損して復旧できない可能性があります。


この記事をシェアする

    Mask_Siva

    北の試される大地に生息しているSEです。
    楽しみながらプログラムを作ったり、ゲームで遊んだりしています。

    コメントをお待ちしております

    HTMLタグは利用できません

    Advertising



    新品/中古ゲーム販売 通販ショップの駿河屋

    Twitter

    仮面被り過ぎ@コンプレックス大佐
    @Mask_Siva

    • 今日働きたくない、、、 疲れがぁぁぁぁ、、、orz でももう一つのチームの遅れをうちのチームで吸収しないと、、、
      about 13時間 ago
    • ダメだ、、、 母様頭働いていない、、、 とりあえず来週末に叔母の一人が私と交代でそばにいてくれるから、それまでに計算できるところはやってあげないと、、、
      about 13時間 ago
    • そして次に話を進めているiPhone13 Pro MAXですが、256GBモデルの購入、法人向けSIM契約で落ち着きそう。 こっちは特許出せるかもな自社製アプリ開発で使います。 既存特許はなかったので、特許性について一度弁理士の… https://t.co/W4IwL3erHN
      about 15時間 ago

    BGM

    「蒼穹のファフナー HEAVEN AND EARTH」BATTLE SCENE SELECTION
    2 マークザイン出撃 -斉藤恒芳

    ↓の再生ボタンで再生できます
    色々な楽曲を試聴したいなら
    >>>こちら<<<

    Nico Nico Community

    Calendar

    2021年10月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31 

    Archive

    My WIsh List

    Amazonで気になっている物をまとめています。

    「これは良かった!」「こっちの方がいいよ!」というものがあれば、教えてください<(_ _)>

    https://amzn.to/3oof0rZ