サーバー セキュリティ 公開日 2026.04.15 更新日 2026.04.15

VPSでバックアップはどこまで必要?DB・ファイル・設定の残し方を整理

VPSバックアップをどこまで取るべきかを、DB、アップロードファイル、アプリ設定、サーバー設定、スナップショットの役割分担という観点から実務目線で整理した記事です。

先に要点

  • VPS では、`OS ごと丸ごと残す` だけでは足りず、DB、アップロードファイル、アプリ設定、サーバー設定を分けて考えた方が安全です。
  • 最低限でも、バックアップ の対象、保存先、頻度、復旧 手順はセットで持っておいた方が実務ではかなり効きます。
  • スナップショット は便利ですが、世代管理や個別復旧のしやすさでは DB ダンプやファイルバックアップと役割が違います。
  • 一番危ないのは、`VPS だから全部同じ箱にある` 状態で、同じサーバー内にしかバックアップがないことです。

VPS を借りたけど、バックアップってどこまで必要なの?
DB だけ dump していれば足りる?
設定ファイルまで残すべき?

このあたりは、VPS を触り始めるとかなり現実的にぶつかる話です。
共有レンタルサーバーより自由度が高いぶん、どこまで自分で面倒を見るか を決めないと、いざというときに戻せません。

この記事では、VPSバックアップ何世代残すか ではなく、何を残すべきか という観点で整理します。
世代数や RPO / RTO の考え方を先に見たいなら、バックアップは何世代必要?実務で多い考え方・復旧確認・具体的な戻し方を解説 がつながりやすいです。


まず結論: VPSでは「データ」と「再現情報」を分けて残す

VPSバックアップで大事なのは、全部を一つの方法で済ませようとしないことです。

ざっくり分けると、残したいものは次の4種類あります。

  1. DB データ
  2. アップロードファイルや生成ファイル
  3. アプリの .env や秘密情報まわり
  4. Nginx、systemd、cron、Firewall などのサーバー設定

この4つは、壊れたときの困り方も、戻し方も違います。
だから、毎日スナップショットを取っているから大丈夫 だけでは少し弱いです。

実務での見方

VPS 障害で困るのは、OS が落ちることだけではありません。誤削除、アプリ更新ミス、DB破損、設定上書き、証明書更新失敗のように、壊れ方がばらけるので、復旧単位も分けておく方が実際は戻しやすいです。


VPSで最低限残したいもの

1. DB

最優先です。
ブログ、業務システム、EC、会員管理など、多くのアプリでは一番失うと困るのが DB です。

特に残したいのはこのあたりです。

DB はファイルコピーだけで雑に済ませるより、論理バックアップやサービスに合った方法で取る方が安全です。

2. アップロードファイル・生成ファイル

ユーザーがアップした画像、添付ファイル、エクスポートファイル、アプリが生成した成果物です。

よくあるのは、

  • DB は戻った
  • でも画像や添付がない

という事故です。

たとえば WordPress の uploadsLaravelstorage/app/public、アプリの添付ディレクトリなど、DB 外にある実データ は別で見た方が安全です。

3. アプリ設定

.envAPI キー、メール設定、外部接続先、署名鍵などです。

ここは軽く見られがちですが、実務ではかなり重要です。
コードが戻っても、設定がないと本番復旧できません。

ただし、秘密情報を含むので、保管方法は雑にしない方がよいです。

4. サーバー設定

見落としやすいのがここです。

このへんが飛ぶと、アプリ本体と DB が戻っても動きません。


スナップショットだけで足りるか

スナップショット はかなり便利です。
VPS 事業者側で用意されていることも多く、OS ごとまとめて戻せるので、昨日の状態へ全体を戻したい には相性がよいです。

ただし、スナップショットだけだと弱い場面があります。

個別復旧がしにくい

DB の一部だけ戻したい、特定ディレクトリだけ戻したい、というときに扱いづらいです。

世代や粒度が粗くなりやすい

日次 1 回だけだと、昼に壊れたときに朝までしか戻れないことがあります。

同じ基盤に寄りすぎると不安が残る

VPS 事業者側に丸ごと依存する形なので、保存先の分離や取り出しやすさも見た方が安全です。

つまり、スナップショットは有力ですが、万能なバックアップの代わりではない と見た方が実務向きです。


実務ではどう組み合わせると現実的か

かなりよくあるのは次の分け方です。

対象 向いている残し方
DB 定期ダンプ + 世代管理
アップロードファイル rsync やストレージ退避、日次コピー
.env や秘密情報 暗号化保管、限定アクセスの保管先
Nginx / cron / systemd / Firewall Git 管理できる設定は管理、難しいものは定期退避
サーバー全体の保険 スナップショット

この形にしておくと、

  • 全体障害ならスナップショット
  • DB 破損ならダンプ復旧
  • 添付消失ならファイルだけ戻す
  • 再構築なら設定を再投入

という切り分けがしやすくなります。


どこに置くべきか

最低限の答えは、同じ VPS の中だけに置かない です。

同じサーバーに

が両方あるだけだと、ディスク障害、侵害、誤削除でまとめて消えることがあります。

実務では、少なくとも

  • 別ストレージ
  • 別サーバー
  • オブジェクトストレージ
  • NASバックアップ専用領域

のどれかへ逃がす方が安全です。


小規模VPSならどこまでやれば十分か

全部盛りにしなくても、最初は次でかなり十分です。

1. DBの日次バックアップ

まずはここです。
ブログでも業務ツールでも、DB がないと戻しにくいことが多いです。

2. アップロードディレクトリの日次コピー

画像や添付があるなら、DB とセットで見ます。

3. .env と主要設定の保管

手元だけ、担当者の記憶だけ、にしない方が安全です。

4. 週次くらいのスナップショット

大きく壊れたときの保険としてかなり便利です。

5. 復旧メモ

これがないと、バックアップがあっても現場で止まります。


復旧するときは何から戻すべきか

実務でよくある順番はこうです。

  1. 新しい VPS か復旧先を用意する
  2. OS と基本ミドルウェアを整える
  3. Nginx / PHP / systemd / cron など設定を戻す
  4. アプリコードを配置する
  5. .env や秘密情報を戻す
  6. DB を復旧する
  7. ファイルを戻す
  8. 動作確認して公開を切り替える

ここで大事なのは、DB とファイルの時点が大きくずれないか です。
添付付きアプリや CMS では、DB だけ昨日、ファイルだけ今日、のようにずれると整合が崩れます。

実際のやり方を説明できる内容として

小規模 Laravel アプリを VPS で動かしているなら、まず MySQL ダンプを別保管先へ日次退避し、`storage/app/public` やユーザー添付ディレクトリを別でコピーし、Nginx 設定・systemd 定義・cron を設定ファイルとして残しておく形が始めやすいです。障害時は新しい VPS を立てて、コード配置 → `.env` 投入 → DB 復元 → ファイル復元 → キャッシュクリア → 動作確認、の順で戻すと整理しやすいです。


よくある危ないパターン

DBだけで安心している

画像、添付、エクスポート結果、証明書関連が飛んでいることがあります。

スナップショットしかない

丸ごと戻すしかなく、部分復旧や取り出しがつらいことがあります。

同じVPSの中だけに置いている

これだと本番と一緒に失うリスクが残ります。

手順が担当者の頭の中だけ

実際の障害時は、ここがいちばん詰まりやすいです。


まとめ

VPS のバックアップで大事なのは、何世代残すか だけではなく、DB・ファイル・設定・サーバー構成をどう分けて残すか です。

実務では、DB ダンプ、ファイル退避、.env や主要設定の保管、スナップショットを役割分担させる形がかなり現実的です。
そして最後は、どこへ保存したか より 実際にその順で戻せるか を確認する方が価値になります。

VPS は自由度が高いぶん、バックアップも 丸ごと一発 ではなく、何を失うと困るか から設計した方が後でかなり楽です。

あとで見返すならここで保存

読み終わったあとに残しておきたい記事は、お気に入りからまとめて辿れます。