この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
そう思っていたサーバーが障害で落ちた時、最後にバックアップが成功していたのは2週間前だったことがあります。
この記事では、バックアップを後回しにしてきた経験から、現役講師として3,100名以上を指導してきた中で伝え続けている「バックアップの本質的な考え方」をお伝えします。rsyncの使い方を調べる前に、まず「なぜ・いつ・何を」を整理してください。
この記事のポイント
・バックアップの失敗は「設定がない」より「検証していない」が原因になる
・「何をいつまでに戻せるか」が設計のスタート地点になる
・現場では「3-2-1ルール」が最低ラインとして使われている
・バックアップはスクリプト化して自動実行が基本
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
「バックアップはある」と「復元できる」は別物
SE時代の2003年頃、私が担当していたファイルサーバーで障害が起きたことがあります。その時、上司から「バックアップはどうなっている」と聞かれ、「テープバックアップを毎日取っています」と答えました。
ところがいざ復元しようとしたところ、テープが読み込めない状態になっていました。
バックアップのジョブは毎日実行されていたのですが、テープが物理的に劣化していて、実際には数ヶ月分のデータが正常に書き込まれていなかったのです。
当時の上司の言葉は今でも忘れられません。
「バックアップがあるかどうかじゃなくて、復元できるかどうかが問題だ」
その時はよく分かりませんでした。でも今は分かります。
バックアップはジョブが動いているだけでは意味がない。
定期的にリストアのテストをしていなければ、「バックアップがある」という事実に何の保証もないのです。
バックアップ設計の前に整理すべき3つの問い
1. 何を守るか
バックアップ対象を「全部」にするのは現実的ではありません。容量・コスト・時間のいずれかが必ず制約になります。
現場では「失ったら業務が止まるもの」を優先して対象に含めます。
・DBデータ:顧客情報・トランザクションが含まれるものは最優先
・設定ファイル:/etc配下の変更履歴が消えると再構築コストが大きい
・アプリケーションコード:Gitがあれば優先度は下げられる
・OSそのもの:構成管理ツール(Ansibleなど)があれば省略できる場合もある
2. どこまで遡れる必要があるか(RPO)
「何日前のデータまで戻す必要があるか」をRPO(Recovery Point Objective)と言います。例えば「昨日のデータまで戻れればいい」なら日次バックアップで十分です。
「1時間前の状態に戻したい」なら、それに合った頻度とツールが必要になります。
RPOを決めずにバックアップを設計すると、後から「そんな古いバックアップしかない」という状況が発生します。
最初にビジネス的な要件を確認するのが、現場エンジニアの正しい動き方です。
3. どれくらいで復元できる必要があるか(RTO)
「障害発生から何時間以内にサービスを再開しなければならないか」をRTO(Recovery Time Objective)と言います。RTOが短いほど、復元手順を自動化・文書化する必要が出てきます。
バックアップとセットで「復元手順書」を用意しておくことが、現場での標準的な運用です。
現場で使われている「3-2-1ルール」
バックアップの基本として業界でよく使われる考え方が「3-2-1ルール」です。| 数字 | 意味 | 具体例 |
|---|---|---|
| 3 | データのコピーを3つ持つ | 元データ+バックアップ2箇所 |
| 2 | 2種類の異なるメディアに保存 | ローカルHDD+クラウドストレージ |
| 1 | 1つはオフサイト(別の場所)に置く | AWSのS3・Google Drive等 |
この3-2-1は「一緒に壊れないようにする」という発想です。
LinuxサーバーでS3やGoogle Driveへ定期的にバックアップを送るのは、rcloneを使えば設定は難しくありません。「構成を考える時間」と「設定する時間」は全く別で、多くの場合、後者よりも前者の方がずっと重要です。
Linuxバックアップで実際に使うコマンドの考え方
1. rsync ——差分同期の基本
Linuxのバックアップで最初に覚えるべきコマンドがrsyncです。# ローカルディレクトリをリモートサーバーへ同期する基本形 rsync -avz /var/www/html/ user@192.168.1.100:/backup/html/ # --deleteオプションで「削除」も同期する rsync -avz --delete /var/www/html/ user@192.168.1.100:/backup/html/ # ドライラン(実際には何もしない確認モード) rsync -avz --delete --dry-run /var/www/html/ user@192.168.1.100:/backup/html/
誤ってファイルを削除してしまった後に同期すると、バックアップからも消えてしまいます。
--deleteを使う場合は、必ず世代管理(複数日分の保持)と合わせて設計してください。
2. tar ——アーカイブして圧縮する
ファイル数が多い場合や、完全なスナップショットを取りたい場合はtarで固めるのが有効です。# /etc配下をgzip圧縮してアーカイブ(日付付きファイル名) tar -czf /backup/etc-$(date +%Y%m%d).tar.gz /etc/ # 確認(内容一覧を表示) tar -tzf /backup/etc-20260515.tar.gz | head -20
# 実行後のファイルサイズ確認 $ ls -lh /backup/etc-20260515.tar.gz -rw-r--r-- 1 root root 2.1M May 15 08:30 /backup/etc-20260515.tar.gz # 内容の一部 $ tar -tzf /backup/etc-20260515.tar.gz | head -5 etc/ etc/hosts etc/hostname etc/resolv.conf etc/fstab
3. cronで自動化する
バックアップは手動ではなく、crontabに登録して自動実行させるのが基本です。# crontabの編集 crontab -e # 毎日午前2時に/etc配下をバックアップ(例) 0 2 * * * tar -czf /backup/etc-$(date +\%Y\%m\%d).tar.gz /etc/ >> /var/log/backup.log 2>&1
バックアップを「作ること」ではなく「戻せること」で評価する
受講生から「バックアップのスクリプトを書きました」と報告を受けた時、私が必ず聞くことがあります。「それで、実際にリストアのテストはしましたか?」
多くの場合、答えは「まだです」です。
バックアップスクリプトを書いた達成感で満足してしまうのは、SE時代の自分も同じでした。
でも実際の障害では、スクリプトが動いているかどうかではなく、「今すぐ復元できるか」だけが問われます。
月に一度、以下の確認を習慣にするだけで現場での信頼は変わります。
・バックアップのファイルサイズが前回と大きく変わっていないか(空ファイルになっていることがある)
・cronのログにエラーが出ていないか(/var/log/backup.logなど)
・テスト環境で実際に展開して、ファイルが取り出せるか
まとめ
| やりたいこと | コマンド・手順 |
|---|---|
| ファイルをリモートへ差分同期 | rsync -avz /src/ user@host:/dst/ |
| ディレクトリをgzip圧縮してアーカイブ | tar -czf backup-$(date +%Y%m%d).tar.gz /target/ |
| アーカイブの中身を確認 | tar -tzf backup.tar.gz |
| 毎日自動実行する | crontabに登録してログ出力付きで実行 |
| バックアップの正常確認 | ファイルサイズ確認 + cronログ確認 + 月次リストアテスト |
「いざとなれば戻せる」という確信を持てる状態にしておくことが、現場での冷静さにも直結します。
Linuxのバックアップ設計を基礎から体系的に学びたい方は、関連記事もぜひ参照してください。
・rsyncコマンドでファイルを同期・転送する方法|--deleteの安全な使い方やリモートバックアップも
・tarコマンドで圧縮・解凍する方法|オプション一覧と実践的な使い方
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンド学習の先にある「サーバーをゼロから組み立てる力」を、初心者が迷わない順序で学べる一冊です。
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Linux学習用VPS比較2026|ConoHa・Xserver・シン・さくら・KAGOYA・WebARENA徹底検証
- この記事の属するカテゴリ:Linux学習ガイドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます