この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
SE時代の現場で、上司からそう問われた瞬間、言葉が出ませんでした。毎晩cronが走り、外付けHDDにtarアーカイブが積み上がっているのは確かだった。でも、「それで本当にデータが戻る」という確信は、そのとき私にはまったくなかったのです。
この記事では、Linuxのバックアップとリストアについて、20年以上サーバーを運用してきた経験から、初めてリストアに真剣に向き合った日の記憶と、その後に変わった確認の習慣をお話しします。
この記事のポイント
・「バックアップがある」と「本当に戻せる」は別の話
・初めてのリストアは手順書なし・方法も分からない状態から始まる
・リストアテストを定期的に行う習慣がバックアップの意味を完成させる
・手順書の事前作成と保管場所の工夫が本番時の焦りを防ぐ
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
バックアップがあっても「戻せる」とは言えない
バックアップとリストアはセットで語られることが多い。でも実際の現場では、「バックアップ」だけが先行し、「リストア」は後回しになりがちです。私が最初にサーバー管理を担当した現場では、前任者からの引き継ぎ資料に「毎晩バックアップあり」とだけ書かれていました。どこに保存されているか、どうやって戻すか、の記述はゼロでした。
当時の私は「バックアップがあれば安心だ」と信じていた。しかしある日の上司の一言が、その思い込みを根底から崩すことになります。
20年以上サーバーを運用してきた経験から言うと、「バックアップがある」と「戻せる」の間には、見えない深い溝があります。その溝を埋めるのが「リストアの実経験」です。
初めてリストアに向き合った日のこと
それはある月曜日の朝のことでした。Webサーバーにアクセスできないという連絡が入り、確認するとディスク障害でデータが一部破損していた。「バックアップから戻してくれ」
その言葉を受けて、私は端末の前に座りました。でも、何から手をつければいいか、まったく分からなかった。
1. 手順書がなく、何も分からなかった
まずバックアップがどこにあるかを探すところから始めました。cronの設定を確認し、ようやく外付けHDDにマウントされたディレクトリにtarアーカイブが並んでいるのを発見しました。ファイル名には日付が入っていたので、前日分を選んで展開を試みました。
# バックアップの場所を確認する ls -lh /mnt/backup/ # 前日分のアーカイブを一時ディレクトリに展開 cd /tmp tar xzvf /mnt/backup/web_backup.tar.gz
セミナーで3,100名以上を指導してきた中で、「リストアの怖さが分かりますか?」と聞くと、「やったことがないので分からない」という受講生が圧倒的に多い。それが正直なところです。
2. ファイルを展開した後の「正しさ」が確認できなかった
展開されたファイルをサーバーの所定のディレクトリに配置し直した後、Apacheを再起動してみました。# ファイルをWebのルートに展開する tar xzvf /mnt/backup/web_backup.tar.gz -C /var/www/html/ # オーナーとパーミッションを確認する ls -la /var/www/html/ # Apacheを再起動する /etc/init.d/httpd restart
「戻った気がする」という曖昧な状態で上司に「完了しました」と報告したあの日のことは、今でも思い出すとヒヤリとします。
3. MySQLのダンプリストアで青ざめた
Webコンテンツのリストアが終わった後、データベースのリストアが待っていました。mysqldumpで取得したSQLファイルがバックアップ先に残っていたので、それを使ってリストアを試みました。# ダンプファイルを確認する ls -lh /mnt/backup/*.sql # MySQLにリストアする mysql -u root -p dbname < /mnt/backup/webapp_backup.sql
結局、上司を呼んで判断を仰ぎ、最終的にはリストアを完了させましたが、その過程での判断の遅さと手順のなさが、後の大きな反省点として深く刻まれました。
その経験が変えた3つの確認習慣
あの障害対応の後、私はバックアップとリストアに対する考え方を根本から変えました。私が現場でよく見かけるのが、「バックアップを設定したら安心」で思考が止まるエンジニアです。でも、本当の安心はリストアを経験して初めて得られる。1. バックアップ直後に必ずリストアテストを行う
バックアップの設定を変更したとき、または新しいサーバーを構築したときは、必ずリストアテストを実施するようにしました。本番とは別の検証機に実際にリストアしてみて、ファイルが正しく展開できるか、データベースが復元できるか、サービスが起動するかを実際に確かめます。「バックアップがある」ではなく「リストアが成功した」という事実を記録に残す。それだけで、障害時の対応速度はまったく違います。
2. リストア手順書を事前に作り、バックアップ先とは別の場所に保管する
リストア手順書をサーバー内に保存していても、そのサーバーが壊れた時には使えません。手順書はGitHubや社内Wiki、あるいは印刷して手元に置くなど、障害が起きても参照できる場所に保管する必要があります。手順書には少なくとも以下の内容を含めています。
・バックアップファイルの場所と命名規則
・展開先のディレクトリとオーナー・パーミッション設定
・データベースのリストア手順(DROP→CREATE→インポートの順序)
・リストア後の動作確認チェックリスト
受講生からよく聞かれる質問が、「バックアップとリストアはセットで覚えるべきですか?」というものです。答えは明確に「はい」です。バックアップだけでは半分しか学んでいない。
3. 定期的にリストア演習をスケジュールに入れる
手順書を作っただけでは不十分です。実際に手を動かす機会を定期的に作ることが重要です。私は今でも、検証機を使ったリストア演習を年に1~2回実施しています。特に新しいメンバーが加入したときは一緒にリストアを行い、全員が「自分でも戻せる」という感覚を持てるようにしています。セミナーでも、「一度でいいからリストアを手で通してみる」という課題を受講生に出しています。その経験があるかないかで、障害時の動き方が大きく変わるからです。
まとめ
バックアップとリストアについて、私の経験から学んだことを整理します。| 場面 | 必要なこと |
|---|---|
| バックアップ設定後 | 検証機でリストアテストを実施し、成功を記録する |
| 手順書の準備 | 障害時でも参照できる場所(GitHubなど)に保管する |
| 定期的なリストア演習 | 年1~2回、チームで実施する |
| 障害発生時 | 手順書とリストア経験があれば冷静に対応できる |
サーバー運用の実践的なスキルをさらに深めたい方は、以下の記事もあわせてご覧ください。
・Linuxサーバーのバックアップを「あとでやろう」と先送りしていた自分が障害で学んだこと
・Linuxの「動いている」を信じすぎると痛い目に遭う理由|現役講師が語る監視と確認の習慣
「バックアップからリストアできる」を当たり前にする実力を、体系的に身につけませんか?
リストアの習慣は、Linuxサーバー運用の知識が土台にあってこそ磨かれます。個別の手順を断片的に覚えるのではなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Linuxサーバーの時刻ズレで障害調査が迷宮入りした日の話|NTP設定の重要性を痛感した経験
- この記事の属するカテゴリ:Linux学習ガイドへ戻る

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