🧭 あなたに最適なVPSを30秒で無料診断 診断する →

【2026年版】VPSのバックアップを自動化する方法:もしもAIの学習データが消えた時の備え

読む前に30秒だけ。用途・予算を選ぶだけで、あなたに最適なVPSがわかります(無料・登録不要) 無料診断 →

【2026年版】VPSのバックアップを自動化する方法:もしもAIの学習データが消えた時の備え

筆者の結論(最初に読んでください)

はっきり書いておきます。バックアップを「いつかやろう」と思ったまま運用してる人は、一度消えてから後悔します。自分も経験済みです。

優先順位をつけるとこうなります。

  1. まず rsync でローカルバックアップだけでも今日設定する(30分あれば終わる)
  2. スナップショットは「大型変更の直前だけ」で十分(毎回は料金がかさむ)
  3. クラウド転送(rclone)は週1でいい(毎日やると転送コストが積み上がる)

「全部完璧にやろう」と思うと何もやらないまま終わります。まず①だけ動かすのが正解です。


VPSにAIツールを構築して運用していると、ファインチューニング済みモデル・学習データ・設定ファイルといった再現が難しいデータが蓄積していきます。ハードウェア障害、操作ミスによる削除、ランサムウェアなどのリスクは常に存在します。

この記事では、rsync・rcloneを使ったバックアップスクリプトとcronによる自動化、さらに各VPSサービスのスナップショット機能を組み合わせた多層防御を解説します。


バックアップ戦略の3層構造

レイヤー方法頻度コスト
①VPS内バックアップrsync(別ディレクトリ)毎時無料(ディスク消費)
②別サーバー/NASへ転送rsync over SSH日次サーバー代のみ
③クラウドストレージrclone(S3/GCS/Backblaze)週次ストレージ従量課金
④スナップショットVPS提供機能変更前に手動プラン依存

3-2-1ルール(3コピー・2種類のメディア・1つはオフサイト)を意識するのが鉄則です。

正直に言うと、②の「別サーバーへ転送」はハードルが上がるので最初はスキップしてOKです。 ①と③だけでも3-2-1に近い構成は作れます。②はNASを持ってる人か、すでに別のVPSを契約してる人だけ考えてください。


rsyncで同一サーバー内バックアップ

まずはシンプルなrsyncによる同一サーバー内バックアップから始めましょう。これが一番コスパがいい。 追加費用ゼロで、設定も一番シンプルです。

#!/bin/bash
# /usr/local/bin/backup_ai_data.sh

# 設定
SOURCE_DIR="/home/aiuser/models"
BACKUP_DIR="/backup/ai_models"
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/var/log/backup_ai.log"

# バックアップ実行
rsync -avz --delete \
  --exclude="*.tmp" \
  --exclude="__pycache__/" \
  "${SOURCE_DIR}/" \
  "${BACKUP_DIR}/latest/" \
  >> "${LOG_FILE}" 2>&1

# 日次でスナップショット的なコピーを作成
if [ "$(date +%H)" -eq "02" ]; then
  cp -al "${BACKUP_DIR}/latest" "${BACKUP_DIR}/${DATE}"
  # 30日より古いバックアップを削除
  find "${BACKUP_DIR}" -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
fi

echo "$(date): バックアップ完了" >> "${LOG_FILE}"
# スクリプトに実行権限を付与
sudo chmod +x /usr/local/bin/backup_ai_data.sh

# 動作確認
sudo /usr/local/bin/backup_ai_data.sh

cp -al のところ、ハードリンクを使っているのがポイントです。30日分のバックアップを作るように見えて、変更のないファイルはディスクを消費しません。AIモデルみたいに「サイズが大きいけど変更は少ない」データとの相性が特にいい。


rcloneでクラウドストレージに自動転送

rcloneはS3・Google Cloud Storage・Backblaze B2・Dropboxなど40以上のクラウドストレージに対応した転送ツールです。

自分がおすすめするのはBackblaze B2です。 理由は単純で安いから。ストレージが$0.006/GB/月で、AWSのS3($0.023/GB/月)と比べて約4分の1。モデルファイルは数GB〜数十GBになりがちなので、この差は無視できません。

# rcloneのインストール
curl https://rclone.org/install.sh | sudo bash

# 設定(インタラクティブに各クラウドを設定)
rclone config
# → "n" で新規リモート追加
# → "s3"などプロバイダを選択してアクセスキーを設定

# 転送テスト
rclone ls mybackup:my-vps-backup-bucket

# バックアップスクリプトにrclone転送を追加
rclone sync /backup/ai_models mybackup:my-vps-backup-bucket/ai_models \
  --transfers 4 \
  --checkers 8 \
  --contimeout 60s \
  --timeout 300s \
  --log-file /var/log/rclone_backup.log

コスト感を具体的に書いておきます。

  • モデルデータ20GBをBackblaze B2に保存 → 月約$0.12(約18円)
  • AWSのS3だと月約$0.46(約70円)
  • どちらも大した金額じゃないけど、「安い方でいい理由がない」ならB2でいいと思います

XServer VPS →


cronで定期実行を設定する

ここが「設定したら終わり」にできるかどうかの肝です。cron を動かせば、あとは何もしなくてもバックアップが走り続けます。

# crontabを編集
crontab -e

# 以下を追記
# 毎時0分にrsyncバックアップ
0 * * * * /usr/local/bin/backup_ai_data.sh

# 毎日午前3時にrcloneでクラウド転送
0 3 * * * rclone sync /backup/ai_models mybackup:my-vps-backup-bucket/ai_models --log-file /var/log/rclone_backup.log

# 毎週日曜午前4時にフルバックアップ
0 4 * * 0 tar -czf /backup/full_$(date +\%Y\%m\%d).tar.gz /home/aiuser/ 2>/dev/null
# cronの実行ログ確認
grep CRON /var/log/syslog | tail -20

# バックアップログの確認
tail -f /var/log/backup_ai.log

設定後にやること、一つだけ言います。 翌朝ログを確認してください。バックアップ完了 の文字列が出てれば動いてます。これをスキップする人が多いんですが、「設定したつもりが動いてなかった」は普通にあります。最初の1回だけ確認すればあとは安心して忘れられます。


各VPSサービスのスナップショット機能比較

スナップショットはVPS全体を特定時点の状態に戻せる機能です。大型アップデートや設定変更前の「保険」として使います。

サービススナップショット自動バックアップ保存数料金
XServer VPS○(オプション)3〜10個月額追加料金あり
KAGOYA CLOUD VPS○(定期バックアップ)5個までプランに含む場合あり
ConoHa VPS○(バックアップオプション)3世代月額+220円〜
さくらのVPS△(手動スナップショット)1個別途費用

自分の結論としては、スナップショットを「毎日自動取得」するのは費用対効果が微妙です。 rsyncのローカルバックアップでほぼ同じことができるし、スナップショットはVPS全体(OSごと)を丸ごと保存するのでストレージを大量に食います。

使い方としては「Pythonのバージョン上げる前」「新しいライブラリを大量に入れる前」みたいな、「失敗したらOS再インストールが面倒そうな変更の直前だけ手動で撮る」 が一番コスパがいいです。

KAGOYAの場合、定期バックアップがプランに含まれているケースがあるので、その点はXServerより使いやすい印象があります。Claude Code 用途でKAGOYAを選ぶ理由がもう一個増える感じです。

KAGOYA CLOUD VPS →


復元テストを忘れずに

バックアップは「復元できて初めて意味がある」ものです。定期的に復元テストを行いましょう。

# rsyncバックアップからの復元確認
rsync -avz /backup/ai_models/latest/ /tmp/restore_test/

# ファイル数・サイズの一致確認
du -sh /home/aiuser/models/
du -sh /backup/ai_models/latest/

# rcloneで特定ファイルのみ取得
rclone copy mybackup:my-vps-backup-bucket/ai_models/model.bin /tmp/restore_test/

これ、本当にやってください。 「バックアップは取ってあります」と言いながら復元を試したことがない人、けっこういます。自分も最初そうでした。いざというときに「あれ、復元できない」となるのが一番最悪なシナリオです。

月1回、/tmp/restore_test/ にコピーしてファイルが開けることだけ確認する、それだけでいいです。


A. 用途が異なります。スナップショットはVPS全体を一瞬で巻き戻せますが、保存数が少なく費用がかかります。rsyncは細かい世代管理ができ安価ですが復元に時間がかかります。「大型変更前はスナップショット、日常はrsync」という使い分けが最もコスパに優れます。
A. コストを重視するならBackblaze B2が有利です(ストレージ$0.006/GB/月、ダウンロード3GBまで無料)。すでにAWSを使っている場合はS3がシンプルです。rcloneはどちらも同じコマンド体系で使えるため、後から変更も簡単です。
A. rsyncの差分転送機能が効果的です。初回は時間がかかりますが、2回目以降は変更部分のみ転送します。また、rcloneの`--transfers`と`--checkers`パラメータを増やすと並列転送で高速化できます。頻繁に変わらないベースモデルと、更新頻度の高い設定・データを分けて管理するのもおすすめです。

まとめ:あなたの使い方で選ぶ

「全部やらなきゃ」じゃなくて、今の自分の状況に合った構成から始めればいい。判断テーブルを置いておきます。

あなたの状況今すぐやること後回しでいいこと
VPSを立てたばかりrsyncのローカルバックアップをcronで設定rclone、スナップショット
データが増えてきたrclone + Backblaze B2を週1で追加毎日のクラウド転送
大型変更を予定している変更前にスナップショットを手動取得自動スナップショット(コスト高)
「消えたら再現できない」データがある上記3つ全部 + 月1の復元テスト特になし
「まあ消えても再構築できる」データrsyncのローカルのみで十分クラウド転送、スナップショット

AIデータを守るバックアップ自動化のポイントをまとめます。

  • rsyncで毎時ローカルバックアップ、差分転送で効率化
  • rcloneで週次クラウドストレージ転送(Backblaze B2が安くておすすめ)
  • cronで全バックアップを自動化、翌朝ログを1回だけ確認する
  • VPSスナップショットは大型変更前の保険として手動活用、毎日自動は費用対効果が微妙
  • 定期的な復元テスト、月1回だけでいいのでやる

「完璧な構成にしてから運用しよう」と思うと永遠に始まりません。rsyncのcron設定だけ今日やる、それが最優先です。 これが最終回答じゃないんだから、まずは動かしてみてください。

XServer VPS →

KAGOYA CLOUD VPS →

あわせて読みたい

編集部監修

本サイトはAIを活用して記事を作成し、編集部(人間)が内容を確認・監修しています。執筆・監修: けせら(AI・VPS領域のテクニカルライター / 編集長)。料金・仕様は公開情報をもとに随時更新/データ更新日: 2026-06-18。

あなたに合うVPSは?30秒で無料診断 診断する →