ラズベリーパイにRasbpianをインストールすると標準でマインクラフト-パイがイントールされますが、これで遊んでいると、何らかの原因でデータファイルが突然読めなくなることがあります。
使用状況にもよりますが、一度読めなくなるとデータの復活は難しく、せっかく保存した作品をみることができなくなります。
そのようになる前に、作成したデータファイルのバックアップを普段からこまめにとっておくことをお勧めします。
マインクラフト-パイのデータファイルの場所
ラズベリーパイにRaspbianをインストールすると、無料で遊べるマインクラフト-パイ(Minecraft-Pi edition)が標準でインストールされています。
このマインクラフトは、ゲームを終了するときに、作成した建物等のデータをデータファイルとして自動的にファイルに保存します。
保存する場所は、ホームディレクトリ(/home/[ユーザー名] の下)です。ユーザー名は各自のユーザーアカウントです。
ここに、.minecraftというディレクトリが作成されていて、この中にデータが保存されます。
このファイルは隠しファイルとなっているので、ファイルマネージャ等のファイラから表示する場合は、「隠しファイルを表示する」のオプションをオンにしなければ表示されません。
スポンサーリンクLX Terminalでコマンドラインから見るには、ls -a というように -a オプションをつけて表示させます。
バックアップの方法
この.minecraftの下にはいくつかのファイルやデータがあり、それぞれ役割が違うようですが、バックアップするときには、.minecraftのディレクトリ全体をバックアップしておくのが簡単でよいでしょう。
手動でバックアップする
一番シンプルな方法は、手動でバックアップする方法です。
例えば、ホームディレクトリ(/home/[ユーザー名]の)にBackupというディレクトリを作成し、その中に.minecraftというディレクトリをそのままコピーします。
コピーするときは、.minecraftというディレクトリの名前を変えても構いません。先頭にドットが付いていると隠しファイルになりますので、ドットを削ってminecraftというディレクトリ名にするなどでもよいでしょう。
複数のバックアップファイルを置いていくならば、ディレクトリ名を変えなければなりません。
一日1回未満のバックアップであれば、日付をディレクトリ名に付け加えて保存しておけばよいです。例えば20190218_minecraftという名前にする等です。
バックアップを取るタイミングは、ゲームを一旦終了したあとがよいと思います。
スクリプトでバックアップする
シェルスクリプトでもう少し簡単にバックアップする方法もあります。
以下の記事:
で、dateコマンドを利用してファイル名に日付や時間の情報を埋め込む方法を書きましたが、これを利用します。
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh DNAME_BASE="minecraft" BACKUP_DIR="Backup" DATE=`date +"%Y%m%d_%H%M%S"` DNAME=$DATE\_$DNAME_BASE cp -pr .$DNAME_BASE $BACKUP_DIR/$DNAME exit 0 |
バックアップ対象のディレクトリは.minecraftで、もう決まっていますから、このスクリプトの中に埋め込みました。DNAME_BASEという変数に入れておきます。
バックアップするディレクトリは、Backupという名前のディレクトリの中に保管することにします。BACKUP_DIRという変数にこの名前を入れておきます。
“DATE=”で始まる行は上記のdateコマンドの記事で説明しました。
最後にcpコマンドで、Backupディレクトリ内にバックアップするディレクトリをコピーして格納します。
このスクリプトを実行する度に、.minecraftディレクトリが、年月日_字分秒_minecraftという名前でBackupディレクトリの下に保管されます。(事前にBackupという名前のディレクトリを作成しておく必要があります。)
ただし、一つ注意があります。それは、上記のスクリプトを使ってバックアップを取っていくと、バックアップディレクトリが増えつづけるということです。
従って、ある程度の数(例えば10個)のバックアップディレクトリができた時点で、一番古いディレクトリを削除するなどのメンテンナンスをしていく必要があります。
この作業自体もスクリプトで行うことはもちろん可能で、それほど難しくありませんが、ここでは省略します。
バックアップディレクトリの復活方法
上記のようにバックアップをとっておくと、万一マインクラフトのデータが突然読み込めなくなる事態になっても、最後にバックアップをとったディレクトリを復元することにより、その時点に戻ることができます。
方法は簡単です。
まずマインクラフトを終了します。
次に、ファイラでもLX Terminalでもよいので、読み込めなくなったホームディレクトリの.minecraftディレクトリを削除するか、どこか別の場所に移動させておきます。
そのあとに、Backupディレクトリの中で最後に取ったバックアップディレクトリをホームディレクトリに持ってくるだけです。
例えば、Backupディレクトリ下の20190218_131008_minecraftという名前で保管しておいたデータを復元するのであれば、それをホームディレクトリにコピーして、名前を.minecraftに直せばよいです。
ファイラでもかまいませんし、LX Terminalでコマンドを使用するのであれば、ホームディレクトリの位置で、
1 | $ cp -pr Backup/20190218_131008_minecraft ./.minecraft |
というコマンドを実行すればよいでしょう。
そして再びマインクラフトを実行すれば、復活しているはずです。
SDカード自体が読めなくなることが心配なときは
ラズベリーパイはOSやツール類、ユーザーの作成データをSDカードに保存します。
ところがこのSDカード自体が、何らかの拍子に突然読み込めなくなることもあります。
そのときには、当然ながらBackupディレクトリも読み出せなくなります。
従って、Backupディレクトリだけでなくホームディレクトリ全体もそうですが、定期的に外部の記憶装置、例えばUSBメモリやUSB-HDDなどにさらにバックアップしておくのがよいでしょう。
USBメモリやUSB-HDDを使用する方法は別の記事で書きます。