0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エンジニアのバックアップ戦略:コードはGit、それ以外はどう守る?

0
Last updated at Posted at 2026-10-22

開発データを失う原因は、故障、誤削除(git resetやrm)、ランサムウェアの3つです。

はじめに

コードをGitHubにpushしているから、バックアップは大丈夫。
そう思っていませんか?

Gitで守れるのは、Gitで管理しているファイルだけです。

ローカルにしかない設定ファイル、データベースのダンプ、アップロードされた画像などは、リポジトリには入っていないことがほとんどです。この記事では、エンジニアが見落としやすいバックアップの穴と、その埋め方をまとめます。

データを失う3つの原因

  1. 物理的な故障:PCやディスクが壊れて、中のデータが取り出せなくなる
  2. 操作ミス:rmやgit reset --hard、上書き保存で、大事なファイルを消してしまう
  3. 不正アクセス:ランサムウェアなどに感染して、ファイルを暗号化される

特にランサムウェアは、ウイルス対策ソフトをすり抜けて感染することがあります。身代金を払っても、データが戻る保証はありません。そのため、被害に遭っても元に戻せるバックアップが、現実的な対策になります。

Gitで守れるもの、守れないもの

GitHubの機密情報保護.png

.envの扱い方

.envは、APIキーやパスワードなどの秘密情報をまとめて書いておくファイルです。
コードを直接書かずに済むので便利ですが、扱いには厳重注意が必要です。

Gitに入れない

# .gitignore
.env

.gitignoreに.envと書いて、Gitの管理対象から外します。

# .env.example
API_KEY=XXXXXXXXXXXX
DB_PASSWORD=XXXXXXXXXXXX

代わりに、値を空にした.env.exampleをリポジトリに入れておくと、他の人にも必要な項目が伝わります。

誤ってコミットしてしまったら

公開リポジトリにpushしてしまった場合は、履歴を消す前に、そのキーを無効化して再発行してください。履歴から消しても、すでに誰かに読まれている可能性があるためです。

各サービスの管理画面で、キーの再発行方法を確認してください。

GitHubだけに頼らない

GitHubは便利ですが、それだけをバックアップにするのは避けたほうが安全です。
アカウントのトラブルやリポジトリの誤削除に備えて、次のような対策をおすすめします。

• アカウントに2段階認証を設定する
• 大事なリポジトリは、ローカルにもコピーを持つ
• ミラーを取って、別の場所に保管する

3-2-1ルールで保存場所を分ける

バックアップの考え方として、広く知られているのが「3-2-1ルール」です。

• コピーを3つ持つ(元データ+バックアップ2つ)
• 2種類の媒体に保存する(外付けHDDとクラウドなど)
• 1つは別の場所に置く

外付けHDDは高速で大容量、ネットワークがなくても使えます。クラウドは自動で同期でき、どこからでもアクセスできます。それぞれの得意なところを、組み合わせて使いましょう。

可能な限りバックアップは自動化

手動のバックアップは、どうしても忘れます。設定、同期、自動実行の3つを整えて、仕組みにしてしまいましょう♡
たとえば、作業フォルダを外付けディスクにコピーするだけなら、rsyncとcronで次のように書けます→
git clone --mirror https://github.com/ユーザー名/リポジトリ名.git

毎週決まった時間に作業フォルダをコピーする

# 毎日午前2時に作業フォルダをコピーする(例)
0 2 * * * rsync -a ~/work/ /mnt/backup/work/

ここでは、バックアップ元で消したファイルが、バックアップ先にも反映されないよう、--deleteは付けていません。誤って消したファイルを、バックアップ先から取り戻せるようにするためです。

バックアップをランサムウェアから守る

バックアップを取っても、メインのPCとつなぎっぱなしだと、感染したときにバックアップまで暗号化されるおそれがあります。
• 物理的に切り離す:バックアップ用のディスクは、使わないときはPCから外す
• 世代管理を有効にする:過去のバージョンに戻せるようにしておく
• 二重に守る:外付けHDDとクラウドを併用する

WordPressサイトのバックアップについて

WordPressサイトは、ファイルとデータベースの2つを守る必要があります。
私自身で運用しているサイトのバックアップはレンタルサーバーの他、プラグインで自動管理

まとめ

• Gitで守れるのは、Gitで管理しているファイルだけ
• .envは.gitignoreで除外し、別の安全な場所にバックアップする
• GitHubだけに頼らず、保存場所を分ける
• 自動化して、バックアップを習慣にする
• バックアップ先は、メインPCから切り離して守る

今日から、まずは.gitignoreと.envの確認から始めてみてください。

最後までお読み見ただきましてありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?