Linuxのディレクトリとファイルをバックアップする方法

個々のファイルとディレクトリ全体のバックアップの違いを理解することは重要です。 Linuxでは、 単に内容をコピーするだけではなく、完全なディレクトリ構造、メタデータ、ファイル間の関係が保持されます。Linux でディレクトリをバックアップする方法を学ぶことは、自宅のコンピュータを管理する場合でも、企業のサーバーを管理する場合でも、すべての Linux ユーザーが習得する必要がある最も重要なスキルの 1 つです。

定期的なバックアップには、次の 3 つの重要な目的があります。

  • 不可逆的なデータ損失を防ぐ
  • 障害後の迅速なシステム復旧を可能にする
  • 新しいハードウェアへのスムーズな移行を促進

この包括的なガイドでは、迅速な緊急ソリューションから自動化されたエンタープライズ グレードのバックアップ戦略まで、重要な Linux ディレクトリとフォルダーを効率的にバックアップするために必要なすべての手順を説明します。

1. Linux のバックアップ ディレクトリとは何ですか?

Linuxにおけるバックアップディレクトリとは、データ損失を防ぐために、元のディレクトリとその内容のコピーを別の場所に保存することを指します。単純なファイルコピーとは異なり、適切な Linuxのバックアップ ディレクトリ プラクティスにより、ファイルのアクセス許可、所有権、タイムスタンプ、およびシンボリック リンクが保持され、復元されたデータが元のデータとまったく同じように機能することが保証されます。

Linuxディレクトリのバックアップがシステムの整合性にとってなぜ重要なのでしょうか?Linuxシステムは、特定のディレクトリに保存されている設定ファイルに大きく依存しています。例えば、/etcディレクトリが破損すると、システム全体が使用不能になる可能性があります。同様に、/homeディレクトリが失われると、すべてのユーザーデータ、カスタマイズ、個人ファイルが失われることになります。適切なLinuxバックアップフォルダ戦略は、こうした壊滅的なシナリオからシステムを保護し、システム全体のセキュリティを確保します。

1.5 クイックスタート: 2分で最も重要なディレクトリをバックアップする

複雑なバックアップ戦略に進む前に、最も重要なデータを今すぐ保護しましょう。ホームディレクトリをすぐにバックアップするためのワンライナーコマンドをご紹介します。

bash
tar -czf ~/backup-$(date +%Y%m%d).tar.gz ~

このコマンドは、タイムスタンプ付きのホームディレクトリ全体の圧縮アーカイブを作成し、それを次のように保存します。 backup-YYYYMMDD.tar.gz災害発生時の緊急バックアップのシナリオでは、次の方法で特定のディレクトリを素早くバックアップできます。

bash
cp -r /path/to/important/directory /path/to/backup/location/

これらの迅速なソリューションは、より包括的なバックアップ戦略を実装しながら、即時の保護を提供します。

2. どの Linux ディレクトリとフォルダをバックアップする必要がありますか?

すべてのディレクトリをバックアップする必要があるわけではありません。一部のディレクトリには、再作成可能な一時ファイルやシステム生成データが含まれています。Linuxのバックアップディレクトリ戦略に含めるべき主要なディレクトリを以下に示します。

Linux のバックアップディレクトリの検討: Linux オペレーティングシステムのデータストレージ
図: Linux オペレーティングシステムにおけるデータストレージs

バックアップに必須のディレクトリ:

  • の/ etc – すべてのシステム構成ファイル、ネットワーク設定、およびサービス構成が含まれます
  • /ホーム – すべてのユーザーデータ、ドキュメント、ダウンロード、個人設定を保存します
  • /ルート – 管理スクリプトと設定を含むルートユーザーのホームディレクトリ
  • / var – ログ、データベース、アプリケーションデータなどの可変データ
  • / usr / local – カスタムインストールされたソフトウェア、スクリプト、ローカルでコンパイルされたプログラム
  • /opt と /srv – オプションのアプリケーションデータとサービス固有のファイル

バックアップから除外するディレクトリ:

  • /proc、/sys、/dev – メモリ内にのみ存在する仮想ファイルシステム
  • /tmp、/var/tmp – 安全に削除できる一時ファイル
  • /mnt、/media – 外部デバイス用のマウントポイント

Linuxでバックアップフォルダに含めるディレクトリを選択する際には、具体的なユースケースを考慮してください。Webサーバーでは/var/wwwとデータベースディレクトリを優先する一方、開発ワークステーションでは/homeとプロジェクトディレクトリを重視する必要があります。

3. Linuxでディレクトリをバックアップする方法

以下の方法は、迅速なバックアップを実現するシンプルなコマンドラインツールから、複雑なマルチサーバー環境向けに設計されたエンタープライズソリューションまで、多岐にわたります。それぞれのアプローチは、速度、ストレージ効率、自動化機能、使いやすさといった点でそれぞれ異なるメリットを提供します。これらの選択肢を理解することで、Linuxにおけるディレクトリのバックアップに最適な方法を選択するのに役立ちます。

3.1 Linuxでcpコマンドを使ってフォルダをバックアップする

cp コマンドは、Linux でフォルダーをバックアップする最も簡単な方法を提供します。
ディレクトリを再帰的にコピーするための基本的な構文は次のとおりです。

bash

cp -r /source/directory /destination/directory

ファイルの属性と権限を保持するには、次を使用します。

bash
cp -rp /source/directory /destination/directory

ただし、cp はバックアップ用途には限界があります。増分バックアップを効率的に処理できず、大規模なディレクトリ構造では速度が遅くなる可能性があります。小規模なディレクトリの迅速な一回限りのコピーに最適です。

3.2 tar を使用して圧縮されたバックアップアーカイブを作成する

tar コマンドは、すべてのファイル属性を保持しながら包括的なバックアップ アーカイブを作成するのに優れています。
tar を使用してバックアップ ディレクトリ アーカイブを作成するには:

bash
tar -czf backup.tar.gz /path/to/directory

このコマンドは、gzip圧縮を使用してディレクトリを圧縮します。速度は低下しますが、より圧縮率を高めるには、bzip2を使用してください。

bash
tar -cjf backup.tar.bz2 /path/to/directory

後で Linux バックアップ フォルダーを抽出するには:

bash
tar -xzf backup.tar.gz -C /restore/location

Tar は権限、シンボリック リンク、ディレクトリ構造を完全に保持するため、システム レベルのバックアップに最適です。

3.3 rsync を使った効率的な Linux バックアップディレクトリ同期

Rsyncは、Linuxのバックアップディレクトリ操作、特に増分バックアップにおいて最も効率的なツールとして際立っています。変更されたファイルのみを転送するため、バックアップ時間と必要なストレージ容量を大幅に削減します。
基本的なローカル バックアップ構文:

bash
rsync -av /source/directory/ /backup/location/

別のサーバーへのリモート バックアップの場合:

bash
rsync -av /source/directory/ user@remotehost:/backup/location/

大規模なディレクトリや頻繁に変更されるディレクトリをバックアップする場合の rsync の利点には、帯域幅の効率、中断された転送の再開機能、シンボリック リンクとアクセス許可の優れた処理などがあります。

3.4 scp を使用した安全なリモートバックアップフォルダ転送

Linux のフォルダーをリモート サーバーに安全にバックアップする必要がある場合、scp は暗号化された転送機能を提供します。

bash
scp -r /local/directory user@remotehost:/remote/backup/path

Scp はリモートの場所への 1 回限りの転送には最適ですが、定期的なバックアップ操作には rsync ほどの効率がありません。

3.5 Linuxバックアップディレクトリ用の専門バックアップソフトウェアの使用

エンタープライズ環境や高度な機能を必要とするユーザーにとって、プロフェッショナルなバックアップツールは大きなメリットをもたらします。Zmandaは、直感的なWebベースのインターフェースと強力な自動化機能により、Linuxバックアップディレクトリ管理を簡素化する包括的なエンタープライズバックアップソリューションとして際立っています。Zmandaは、集中バックアップ管理、自動スケジュール設定、クラウドプラットフォームを含む多様なストレージへのサポートなど、エンタープライズグレードの機能を提供します。

ズマンダを試す

BorgBackup のようなソリューションは、重複排除、暗号化、圧縮を提供します。

bash
borg create /path/to/repo::backup-{now} /path/to/directory

Duplicityは、クラウドサービスを含む様々なストレージバックエンドに対応した暗号化された増分バックアップを提供します。これらのツールは、手動コマンドでは実現できない自動化、スケジュール設定、暗号化、そして複数の保存先へのバックアップ機能を提供します。

4. Linuxのバックアップフォルダまたはディレクトリのバックアップを自動化する方法

手動バックアップは、人間の忘れっぽさが原因で失敗することがよくあります。自動化により、介入なしに一貫した保護を実現できます。最も一般的な方法は、cronジョブを使用して定期的なバックアップをスケジュールすることです。

bash
# Daily backup at 2 AM
0 2 * * * tar -czf /backups/daily-$(date +\%Y\%m\%d).tar.gz /home

『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する スナップショットスタイル バックアップの場合、rsnapshotはハードリンクを使用してスペースを節約しながら複数のバックアップバージョンを維持する優れたソリューションを提供します。rsnapshotの設定 /etc/rsnapshot.conf cron 経由でスケジュールを設定して、毎日、毎週、毎月のスナップショットを自動的に作成します。

バックアップ頻度のベストプラクティスとしては、重要なデータは毎日、それほど重要でない情報は毎週バックアップし、少なくとも30日間のバックアップ履歴を維持することが挙げられます。3-2-1ルールを参考にしてください。重要なデータは3つのコピーを2種類の異なるメディアに保存し、1つはオフサイトに保管します。

4.1 エンタープライズ Linux バックアップ自動化のための Zmanda の使用

コマンドラインツールでは手動でのスクリプト作成と監視が必要ですが、 ズマンダ 流線 Linuxのバックアップ 集中管理アプローチによるディレクトリ自動化。このエンタープライズソリューションは、複数のサーバーにまたがる複数のcronジョブやスクリプトの管理に伴う複雑さを解消します。

Zmanda で自動バックアップを設定する:

  1. Zmandaエージェントをデプロイする 対象のLinuxサーバー上
  2. サーバーを接続する 中央管理コンソールへ
  3. バックアップポリシーを構成する 保護するディレクトリを定義する
  4. 保存先を選択 インフラストラクチャの要件に基づいて
  5. スケジュールを確立する 自動保持管理
  6. セキュリティ設定の構成 暗号化とアクセス制御を含む

主な自動化機能は次のとおりです。

  • バックアップのタイミングと保持を自動的に処理するポリシー主導のスケジュール
  • ローカルストレージ、クラウドプラットフォーム(AWS、Azure、Google Cloud)、ハイブリッドセットアップのマルチデスティネーションサポート
  • 増分バックアップ、差分バックアップ、完全バックアップを組み合わせたインテリジェントなバックアップ戦略
  • Linux操作でバックアップフォルダを保護するための組み込み暗号化
  • システム全体または個々のディレクトリをワンクリックで復元
  • 仮想化 Linux 環境とのシームレスな統合

このアプローチにより、Linux 管理における複雑なバックアップ ディレクトリが、手動でエラーが発生しやすいプロセスから、集中管理とレポート機能を備えた自動化されたエンタープライズ グレードのソリューションへと変化します。

5. Linuxバックアップディレクトリとフォルダ管理のベストプラクティス

長期的なデータ保護には、適切なバックアップストレージの選択が不可欠です。ローカルディスクストレージは高速アクセスを提供しますが、ハードウェア障害や災害に対する保護は提供しません。 ネットワーク接続ストレージ(NAS) デバイスは信頼性が高く、複数のシステムに対応できます。クラウドストレージはオフサイトの保護を提供しますが、帯域幅とコストを考慮する必要があります。

Linuxのバックアップフォルダ戦略を実装する際には、セキュリティを最優先に考慮する必要があります。GPGなどのツールを使用して、機密性の高いバックアップを暗号化しましょう。

bashtar -czf - /important/directory | gpg -c > backup.tar.gz.gpg

バックアップと復元プロセスの定期的なテストは不可欠です。テストされていないバックアップは、災害発生時に役に立たないことがよくあります。四半期ごとに復元テストをスケジュールし、バックアップの整合性を確認し、復旧手順を練習しましょう。

バックアップ手順を文書化することで、一貫性が保たれ、緊急時に他者が実行できるようになります。バックアップスケジュール、保存場所、暗号化キー、復元手順などを含む手順書を保管してください。

6. よくある質問 (FAQ)

  • Linux でディレクトリをバックアップするときにファイル権限を保持するにはどうすればよいですか?
    -p cpまたは -a rsync にフラグを付けると、権限、所有権、タイムスタンプが保持されます。tar はこれらの属性をデフォルトで保持します。
  • バックアップ フォルダーから特定のサブフォルダーを除外するにはどうすればよいですか?
    rsyncを使用する場合は、 --exclude='pattern' 特定のディレクトリをスキップするには、tarの場合は除外ファイルを作成し、 --exclude-from=file.
  • マウントされた外部ドライブまたはネットワーク共有をバックアップできますか?
    はい、ただしマウントポイントには注意が必要です。バックアップ前にファイルシステムがマウントされていることを確認し、マウントポイントをバックアップするか、マウントされたコンテンツをバックアップするかを検討してください。
  • Linux バックアップ ディレクトリまたはフォルダーを復元するにはどうすればよいですか?
    tarアーカイブの場合は、 tar -xzf backup.tar.gz -C /restore/pathrsyncバックアップの場合は、ソースと宛先を逆にしてください。必ず安全な環境で復元を事前にテストしてください。

結論

Linuxのディレクトリとフォルダのバックアップは必須です。データ、設定、そして膨大な作業時間を守るために不可欠です。cpコマンドを使った簡単なバックアップから、プロ仕様のバックアップソフトウェアを使った高度な自動化ソリューションまで、幅広い方法を解説しました。

バックアップ戦略を成功させる鍵は、特定のニーズに合わせて適切なツールの組み合わせを選択し、適切な自動化を導入し、バックアップと復元の手順を定期的にテストすることです。コマンドラインツールを使って個人用ノートパソコンを保護する場合でも、企業のサーバーを管理する場合でも、 ズマンダ 組織のバックアップ要件に合わせて拡張可能なソリューションを提供し、小規模な導入向けのシンプルさと複雑なマルチサーバー環境向けのエンタープライズ機能の両方を実現します。

完全なサーバーインフラストラクチャを管理するシステム管理者の方は、以下の完全なガイドを必ずご覧ください。 システム管理者のための Linux サーバーのバックアップ方法.


データの専門家に相談する

Zmanda Pro のバックアップ機能が特定の環境をどのように保護できるかを確認するには、弊社の専門家による 30 分間のデモをスケジュールしてください。

💬