【2025年10月最新】マイクラサーバー自動バックアップ完全攻略!rcloneでクラウド保存

マイクラサーバーの自動バックアップは、rcloneを使えば無料でクラウドストレージに保存できます。cronで定期実行すれば、データ消失のリスクから完全に守れます。本記事では、Linux VPSでのrclone設定からGoogle Drive・OneDrive連携、自動化スクリプトの作成まで、初心者でも実装できるよう画像付きで完全解説します。

要点

  • rcloneは70以上のクラウドストレージに対応する無料オープンソースツール
  • cronを使った自動バックアップで毎日深夜に安全保存
  • 差分同期・圧縮・暗号化機能で容量とコストを最小化
  • バックアップの検証と復元手順で万が一に備える
  • XServer VPS・ConoHa VPSなど主要サービスで動作確認済み

目次

なぜ自動バックアップが必要なのか?

マイクラサーバーでは、プレイヤーの建築物やアイテム、進行状況がすべてサーバー側に保存されます。サーバークラッシュ、ハードウェア故障、誤操作によるデータ消失は、数ヶ月の努力を一瞬で失うことになります。

データ消失の主な原因

  • サーバークラッシュ – 突然の停止によるワールド破損(チャンクエラー)
  • ストレージ故障 – HDDやSSDの物理的な故障
  • 人為的ミス – 誤った削除やコマンド実行
  • プラグイン・MOD障害 – 互換性問題による設定ファイル破損
  • マルウェア・不正アクセス – セキュリティ侵害によるデータ改ざん

手動バックアップでは、作業を忘れたり後回しにしがちです。rcloneによる自動バックアップなら、設定後は完全に放置でき、クラウドストレージに安全に保管されます。


rcloneとは?対応クラウドストレージ一覧

rcloneは、ローカルストレージとクラウドストレージ間でファイルを同期・転送するためのコマンドラインツールです。Go言語で書かれた単一バイナリで、Windows・Linux・macOSすべてで動作します。

rcloneの主な特徴

  • 70以上のクラウドストレージに対応(Google Drive、OneDrive、Dropbox、Amazon S3など)
  • 差分同期で変更分のみ転送、帯域幅の節約
  • チェックサム検証で転送エラーを自動検出
  • 暗号化機能でプライバシー保護
  • 帯域制限・リトライ機能で安定転送
  • 完全無料のオープンソース

対応する主要クラウドストレージ

サービス無料容量特徴
Google Drive15GBGoogleアカウントで即利用可能
OneDrive5GBMicrosoft 365連携
Dropbox2GB高速同期
Amazon S35GB(12ヶ月)信頼性の高いストレージ
Backblaze B210GB低コスト・高容量

rcloneのインストールと初期設定

Linuxサーバーへのインストール

Ubuntu・Debian・CentOSなど、すべてのLinuxディストリビューションで以下のコマンドが使えます。

# 公式スクリプトで最新版をインストール(推奨)
curl https://rclone.org/install.sh | sudo bash

# インストール確認
rclone version

パッケージマネージャーでのインストール

# Ubuntu/Debian
sudo apt update
sudo apt install rclone

# CentOS/RHEL
sudo yum install rclone

# Fedora
sudo dnf install rclone

Windowsサーバーへのインストール

  1. rclone公式ダウンロードページからWindows版をダウンロード
  2. ZIPファイルを展開し、C:\rclone\に配置
  3. 環境変数PATHにC:\rcloneを追加
  4. コマンドプロンプトでrclone versionを実行して確認

Google Driveとの連携設定

Google Driveは15GBの無料容量があり、マイクラサーバーのバックアップに最適です。

設定手順

# 設定ウィザードを起動
rclone config

# 以下の手順で設定
n  # 新しいリモートを作成
gdrive  # 名前を入力(任意)
drive  # ストレージタイプで「Google Drive」を選択
# Client IDとClient Secretは空白でEnter(デフォルト使用)
1  # scopeで「Full access」を選択
# root_folder_idは空白でEnter
# service_account_fileは空白でEnter
n  # 詳細設定は不要
y  # 自動設定を使用
# ブラウザが開くのでGoogleアカウントでログイン・許可
n  # チームドライブは使用しない
y  # 設定を確認して保存
q  # 終了

ヘッドレスサーバー(GUI無し)での認証方法

VPSなどGUI環境がない場合、ローカルPCで認証してトークンをコピーします。

ローカルPCでの操作

# ローカルPCでrcloneをインストール
curl https://rclone.org/install.sh | sudo bash

# 認証トークンを取得
rclone authorize "drive"
# ブラウザで認証後、表示されるトークンをコピー

サーバー側での操作

rclone config
n
gdrive
drive
# Client ID/Secretは空白
1
# root_folder_id、service_account_fileは空白
n
n  # 自動設定は使用しない
# ローカルPCで取得したトークンをペースト
n
y
q

接続テスト

# Google Driveのファイル一覧を表示
rclone lsd gdrive:

# テストファイルをアップロード
echo "test" > test.txt
rclone copy test.txt gdrive:/MinecraftBackups/

OneDriveとの連携設定

OneDriveはMicrosoft 365ユーザーなら1TB、無料でも5GBが利用できます。

設定手順

rclone config
n
onedrive  # 名前を入力
onedrive  # ストレージタイプを選択
# Client ID/Secretは空白でEnter
n  # 詳細設定不要
y  # 自動設定を使用
# ブラウザでMicrosoftアカウントにログイン
1  # OneDrive Personalを選択
y  # 設定を確認
q

ヘッドレスサーバーでの認証

Google Driveと同様、ローカルPCで認証トークンを取得します。

# ローカルPC
rclone authorize "onedrive"
# 認証後のトークンをサーバーに貼り付け

接続テスト

rclone lsd onedrive:
rclone copy test.txt onedrive:/MinecraftBackups/

自動バックアップスクリプトの作成

実用的なバックアップスクリプトを作成します。世界データの圧縮、クラウドアップロード、古いバックアップの削除まで自動化します。

基本バックアップスクリプト

#!/bin/bash
# minecraft_backup.sh

# 設定
MINECRAFT_DIR="/opt/minecraft"  # マイクラサーバーのディレクトリ
BACKUP_DIR="/backup/minecraft"  # ローカルバックアップ保存先
RCLONE_REMOTE="gdrive:MinecraftBackups"  # rcloneリモート先
WORLD_NAME="world"  # ワールド名
BACKUP_KEEP_DAYS=7  # ローカル保管日数
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="minecraft_backup_${DATE}.tar.gz"

# ログファイル
LOG_FILE="/var/log/minecraft_backup.log"

# ログ出力関数
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "バックアップ開始"

# バックアップディレクトリの作成
mkdir -p "$BACKUP_DIR"

# マイクラサーバーに自動保存とセーブオフを送信(screenセッションの場合)
if screen -list | grep -q "minecraft"; then
    log "サーバーに save-all コマンド送信"
    screen -S minecraft -p 0 -X stuff "save-all$(printf \\r)"
    sleep 10
    screen -S minecraft -p 0 -X stuff "save-off$(printf \\r)"
    sleep 5
fi

# ワールドデータを圧縮
log "ワールドデータを圧縮中: $BACKUP_FILE"
cd "$MINECRAFT_DIR" || exit 1
tar -czf "$BACKUP_DIR/$BACKUP_FILE" \
    "$WORLD_NAME" \
    "$WORLD_NAME"_nether \
    "$WORLD_NAME"_the_end \
    server.properties \
    ops.json \
    whitelist.json \
    banned-players.json 2>&1 | tee -a "$LOG_FILE"

# サーバーの自動保存を再開
if screen -list | grep -q "minecraft"; then
    screen -S minecraft -p 0 -X stuff "save-on$(printf \\r)"
    log "save-on コマンド送信完了"
fi

# バックアップファイルのサイズを確認
BACKUP_SIZE=$(du -h "$BACKUP_DIR/$BACKUP_FILE" | cut -f1)
log "バックアップファイルサイズ: $BACKUP_SIZE"

# rcloneでクラウドにアップロード
log "クラウドストレージへアップロード開始"
rclone copy "$BACKUP_DIR/$BACKUP_FILE" "$RCLONE_REMOTE" \
    --progress \
    --transfers 4 \
    --checkers 8 \
    --log-file="$LOG_FILE" \
    --log-level INFO

if [ $? -eq 0 ]; then
    log "クラウドアップロード完了"
else
    log "ERROR: クラウドアップロード失敗"
    exit 1
fi

# ローカルの古いバックアップを削除
log "古いローカルバックアップを削除中(${BACKUP_KEEP_DAYS}日以上前)"
find "$BACKUP_DIR" -name "minecraft_backup_*.tar.gz" -mtime +$BACKUP_KEEP_DAYS -delete

# クラウドの古いバックアップを削除
log "古いクラウドバックアップを削除中"
rclone delete "$RCLONE_REMOTE" --min-age "${BACKUP_KEEP_DAYS}d" --log-file="$LOG_FILE"

log "バックアップ処理完了"

スクリプトの配置と実行権限付与

# スクリプトを保存
sudo nano /usr/local/bin/minecraft_backup.sh
# 上記のスクリプトを貼り付け、Ctrl+O で保存、Ctrl+X で終了

# 実行権限を付与
sudo chmod +x /usr/local/bin/minecraft_backup.sh

# 手動実行テスト
sudo /usr/local/bin/minecraft_backup.sh

高度な設定オプション

帯域制限を設定する場合

# 1MB/秒に制限
rclone copy "$BACKUP_DIR/$BACKUP_FILE" "$RCLONE_REMOTE" --bwlimit 1M

複数のクラウドストレージに同時バックアップ

# Google DriveとOneDriveの両方にアップロード
rclone copy "$BACKUP_DIR/$BACKUP_FILE" gdrive:MinecraftBackups &
rclone copy "$BACKUP_DIR/$BACKUP_FILE" onedrive:MinecraftBackups &
wait

cronによる定期実行設定

cronを使って、深夜の低負荷時間帯に自動バックアップを実行します。

crontabの設定

# crontabを編集
sudo crontab -e

# 毎日深夜3時に実行
0 3 * * * /usr/local/bin/minecraft_backup.sh

# 6時間ごとに実行(より安全)
0 */6 * * * /usr/local/bin/minecraft_backup.sh

# 毎日深夜2時と14時に実行
0 2,14 * * * /usr/local/bin/minecraft_backup.sh

cron設定の構文

分 時 日 月 曜日 コマンド
0-59 0-23 1-31 1-12 0-7 (0と7は日曜日)

例:
0 3 * * *     毎日3時
*/2 * * * *   2分ごと
0 */4 * * *   4時間ごと
0 0 * * 0     毎週日曜日の0時

cron実行確認

# cronサービスの状態確認
sudo systemctl status cron

# ログを確認
tail -f /var/log/minecraft_backup.log

バックアップの検証と復元方法

バックアップが正常に機能しているか定期的に検証し、いざという時の復元手順を確認します。

バックアップファイルの検証

# クラウド上のバックアップ一覧を確認
rclone ls gdrive:MinecraftBackups

# 最新バックアップをダウンロード
rclone copy gdrive:MinecraftBackups/minecraft_backup_YYYYMMDD_HHMMSS.tar.gz /tmp/

# 圧縮ファイルの整合性チェック
tar -tzf /tmp/minecraft_backup_YYYYMMDD_HHMMSS.tar.gz

# 解凍テスト
cd /tmp
tar -xzf minecraft_backup_YYYYMMDD_HHMMSS.tar.gz
ls -la world/

サーバーデータの復元手順

完全復元(サーバー全体を戻す場合)

# 1. サーバーを停止
screen -S minecraft -X quit

# 2. 現在のデータをバックアップ(念のため)
mv /opt/minecraft /opt/minecraft_old_$(date +%Y%m%d)

# 3. クラウドから復元したいバックアップをダウンロード
rclone copy gdrive:MinecraftBackups/minecraft_backup_20251020_030000.tar.gz /tmp/

# 4. 解凍してサーバーディレクトリに配置
cd /tmp
tar -xzf minecraft_backup_20251020_030000.tar.gz
mv world world_nether world_the_end server.properties /opt/minecraft/

# 5. 権限を修正
sudo chown -R minecraft:minecraft /opt/minecraft

# 6. サーバーを再起動
cd /opt/minecraft
screen -dmS minecraft java -Xms2G -Xmx4G -jar server.jar nogui

特定のワールドのみ復元

# サーバー停止
screen -S minecraft -X quit

# 古いワールドを退避
mv /opt/minecraft/world /opt/minecraft/world_broken

# バックアップから該当ワールドのみ抽出
cd /tmp
tar -xzf minecraft_backup_20251020_030000.tar.gz world
mv world /opt/minecraft/

# 権限修正と再起動
sudo chown -R minecraft:minecraft /opt/minecraft/world
cd /opt/minecraft && screen -dmS minecraft java -Xms2G -Xmx4G -jar server.jar nogui

容量削減と最適化テクニック

バックアップファイルのサイズを削減し、クラウドストレージの容量とコストを最小化します。

圧縮レベルの最適化

# デフォルト圧縮(バランス型)
tar -czf backup.tar.gz world/

# 最高圧縮(時間がかかるが容量最小)
tar -c world/ | gzip -9 > backup.tar.gz

# xzを使った超高圧縮(最も時間がかかる)
tar -cJf backup.tar.xz world/

圧縮形式の比較

形式圧縮率速度おすすめ用途
gzip (.gz)標準高速日次バックアップ
bzip2 (.bz2)中速週次バックアップ
xz (.xz)最高低速月次アーカイブ

不要ファイルの除外

# ログやキャッシュを除外
tar -czf backup.tar.gz \
    --exclude='world/playerdata/*.dat_old' \
    --exclude='world/data/raids.dat' \
    --exclude='logs/*' \
    --exclude='crash-reports/*' \
    world/

rclone差分同期の活用

初回は全ファイルを転送、2回目以降は変更分のみを転送します。

# syncコマンドで差分同期(クラウドをローカルと完全一致させる)
rclone sync /backup/minecraft gdrive:MinecraftBackups

# copyコマンドで追加のみ(削除はしない)
rclone copy /backup/minecraft gdrive:MinecraftBackups

古いバックアップの自動削除

# 30日以上前のファイルを削除
rclone delete gdrive:MinecraftBackups --min-age 30d

# ファイル数で制限(最新10個を保持)
rclone ls gdrive:MinecraftBackups | sort -k2 -r | tail -n +11 | awk '{print $2}' | xargs -I {} rclone deletefile gdrive:MinecraftBackups/{}

トラブルシューティング

よくある問題と解決方法を紹介します。

Q1. rclone設定中に「Failed to configure token」エラーが出る

原因: ヘッドレスサーバーで自動認証が失敗している

解決策:

  1. ローカルPCでrclone authorize "drive"を実行
  2. ブラウザで認証後、表示されたトークンをコピー
  3. サーバー側のrclone configで手動でトークンを貼り付け

Q2. バックアップ中にサーバーが重くなる

原因: 圧縮処理がCPUを大量消費している

解決策:

# niceコマンドで優先度を下げる
nice -n 19 tar -czf backup.tar.gz world/

# ioniceでディスクI/O優先度を下げる
ionice -c3 tar -czf backup.tar.gz world/

Q3. クラウドアップロードが途中で止まる

原因: ネットワーク不安定、タイムアウト

解決策:

# リトライとタイムアウトを設定
rclone copy backup.tar.gz gdrive:Backups \
    --retries 10 \
    --low-level-retries 20 \
    --timeout 5m \
    --contimeout 60s

Q4. 「rate limit exceeded」エラーが出る

原因: Google DriveのAPI制限に達している

解決策:

# 転送速度を制限
rclone copy backup.tar.gz gdrive:Backups --bwlimit 8M

# 転送スレッド数を減らす
rclone copy backup.tar.gz gdrive:Backups --transfers 2

Q5. バックアップファイルが破損している

原因: 圧縮中にサーバーが書き込みを続けた

解決策:

# バックアップ前に必ずsave-offを実行
screen -S minecraft -p 0 -X stuff "save-all$(printf \\r)"
sleep 10
screen -S minecraft -p 0 -X stuff "save-off$(printf \\r)"
sleep 5

# バックアップ後にsave-on
screen -S minecraft -p 0 -X stuff "save-on$(printf \\r)"

サーバー診断で最適なVPSを見つけよう

マイクラサーバーのバックアップを安定して運用するには、適切なVPS選びが重要です。プレイ人数、MOD構成、予算に合わせた最適なサーバーを見つけましょう。

サーバー選びで迷ったら、無料診断がおすすめ

サーバー比較診断サイトでは、質問に答えるだけで、あなたのマイクラサーバーに最適なVPSプランを自動提案してくれます。性能比較、料金シミュレーション、ユーザーレビューも確認できるので、失敗しないサーバー選びが可能です。


おすすめマイクラ対応VPSサーバー比較

目次