-
どのディレクトリをバックアップすべきですか?
-
方法 1: Cp で Linux ディレクトリをバックアップする
-
方法 2: Tar で Linux ディレクトリをバックアップ
-
方法 3:Rsync を使用して Linux ディレクトリをバックアップする
-
方法4:Scpを使用してLinuxディレクトリをバックアップする
-
方法5:Linuxファイル/フォルダ/サーバーのバックアップと復元
-
Linux ディレクトリのバックアップに関するよくある質問
-
結論
Linuxでは、ディレクトリがシステム上のファイルやデータを整理および管理するために重要な役割を果たしています。ディレクトリ構造はLinuxファイルシステムの基盤を形成し、ファイルやディレクトリの階層的な組織を提供します。
さらに、多くのLinuxアプリケーションやサービスは、Linuxディレクトリ構造内の特定のディレクトリやファイルに依存しています。たとえば、アプリケーションの設定ファイルは特定のディレクトリに格納されることが多く、システムログは一般的に中央の場所に保存されます。また、場合によっては主要なファイルシステム構造を全面的に見直す必要があるかもしれません。

Linux を複数の保存先に バックアップする ことはできますが、サーバ全体 のバックアップに加えて、いくつかの重要な Linux ディレクトリを個別にバックアップすることが必要です。
しかし、ディレクトリのどの場所をバックアップする価値があるのかを把握する必要があります。この記事では、Linuxでバックアップすべきディレクトリと、その5つの主な方法について説明します。
どのディレクトリをバックアップすべきですか?
/etc: ユーザーおよびグループ情報、ネットワーク設定、アプリケーションの設定、起動ファイルなど、システムの重要な設定ファイルを保存します。これがないと、障害や故障からの復旧が困難かつ時間のかかる作業になります。/etc をバックアップしておくことは、システムおよびアプリケーションを最初から再インストールする必要を避けるために非常に重要です。
/home:ユーザーの個人データ、ファイル、文書、画像、ダウンロード内容は、ユーザー名に応じた/homeディレクトリ内に保存されます。ユーザーにとって最も重要なディレクトリであるため、このディレクトリのバックアップを取ることが不可欠です。
/root: ルートユーザーのホームディレクトリのバックアップは非常に重要です。ダウンロードしたファイルや設定、スクリプト、メモなど、システム管理者にとって不可欠で一意の情報が含まれています。
/var:データベースやWebページ、ログ、crontabなどさまざまなファイルを保存します。日々増加するため、専用のストレージとディスクが必要です。
/usr/local/bin: 空の場合や非標準のスクリプト・アプリケーションが含まれている場合があります。空の場合、バックアップ時の混乱を避けるために空のファイル(/usr/local/bin/empty)を作成することが推奨されます。
/usr/local/sbin: 同様に、/usr/local/sbin も重要であり、多くの場合空です。空のファイル(/usr/local/sbin/empty)をこのディレクトリに追加して、その状態を示すことができます。
/srv: WWWのアップロードやFTPファイル、CVSなどのインターネット関連サービスファイルに使用されますが、空のままになる場合もあります。使用頻度はランダムで非常に少ないです。
/opt: サードパーティや個別のソフトウェア用です。新しいソフトウェアのテストに役立ちます。空の場合は空のファイル(opt/empty)が追加されます。
共有ディレクトリ: /finance、/data、または特定のグループに特別な権限がある/hrなどの関連ディレクトリがあります。これらは企業独自のデータを含む可能性があるため、必ずバックアップを取る必要があります。必要がある場合のみこれらのディレクトリを作成してください。
方法 1: Cp で Linux ディレクトリをバックアップする
Cp(コピー)コマンドは、ファイルまたはディレクトリをコピーするための 3 つの主な動作モードを持っており、ファイルを他の場所にコピーすること、複数のファイルをディレクトリにコピーすること、ディレクトリを他の場所にコピーすることが可能です。
オプション:
| Parameter | Description |
|---|---|
| --アーカイブ, -a | コピー処理中にファイルおよびディレクトリの属性および権限を保持します。 |
| -属性のみ | ファイル属性のみをコピーします。 |
| --backup[=CONTROL] | すべての現在の宛先ファイルをバックアップします。 |
| --copy-contents | 特殊ファイルの内容を再帰的にコピーします。 |
| --force, -f | 既存の宛先ファイルを削除して再試行します。ただし、-n フラグを使用する場合は除きます。 |
| 対話式、-i | 上書きする前に以前の -n フラグを確認します。 |
| --preserve[=ATTR_LIST] | 含まれる属性を保持します。 |
| --remove-destination | 開く前に、現在の宛先ファイルをすべて削除します。 |
| --symbolic-link, -s | シンボリックリンクを作成します。 |
| --suffix=SUFFIX, -S | バックアップ接尾辞を上書きします。 |
| --help | ヘルプ メニューを表示してから終了します。 |
1. 含まれているすべてのコンテンツとともにディレクトリを別のディレクトリにコピーします。
cp -r <sourceDirectory> <destinationDirectory>
2. 目的ディレクトリにある既存ファイルをバックアップします。
cp --backup <ファイル名> <目的ディレクトリ>
3. Linuxで複数のディレクトリをコピーする。
$ cp -R <ソースフォルダー1> <ソースフォルダー2> ... <ソースフォルダーネーム> <目的フォルダー>
4. /etc とホームディレクトリをコピーしてください。
$ cp -R /etc/* /home/* /backup_folder
5. ディレクトリの内容を再帰的にコピーします。
$ cp -R <source_folder>/* <destination_folder>
方法 2: Tar で Linux ディレクトリをバックアップ
Tar(テープアーカイブ)は、ファイルとディレクトリを tarball に圧縮し、tar、gzip、bzip 形式でバックアップを作成します。
オプション:
| Parameter | Description |
|---|---|
| -c | tarアーカイブを作成します。 |
| -x | tarアーカイブから抽出します。 |
| 日语に以下の内容を翻訳してください:-t | tarアーカイブ内のファイル一覧を表示します。 |
| -r | tarアーカイブに追加のファイルを追加します。 |
| -W | tarアーカイブを検証します。 |
| -z | gzipを使用してtarアーカイブを作成します。 |
| 指定された内容を日本語に翻訳します: -j | bzipを使用してtarアーカイブを作成する。 |
| -v | 詳細情報を表示します。 |
| -f | アーカイブファイル名を指定します。 |
1. ディレクトリの tar アーカイブを作成します。
tar -cf アーカイブ名.tar ソースディレクトリ
2. /etc ディレクトリから bz2 アーカイブを作成します。
tar -cjf アーカイブ名.bz2 /etc
3. /user ディレクトリから tar.gz アーカイブを作成します。
tar -czf アーカイブ名.tar.gz /use
4. tarアーカイブを展開します。
tar -tvf アーカイブ名.tar
5. tar gzip アーカイブを展開します。
tar -xzvf アーカイブ名.tar.gz
6. tar bz2 アーカイブを展開する。
tar -xjvf アーカイブ名.tar.bz2
7. tarアーカイブを別のディレクトリに展開します。
tar -xvf アーカイブ名_tar -C / 宛先ディレクトリ
方法 3:Rsync を使用して Linux ディレクトリをバックアップする
Rsync はリモートでファイルをコピーするためのツールであり、単独での使用または bash スクリプト内での統合が可能です。さまざまなグラフィカルユーザーインターフェース (GUI) によって利用されており、Linux 管理者が必要とされるほぼすべての種類のバックアップを実行するための十分な柔軟性を提供します。
このLinuxベースのユーティリティを使用して、全体のシステム、個別のファイル、またはディレクトリをバックアップできます。
オプション:
| パラメーター | 説明 |
| -a | コピー処理が再帰的に行われ、ファイル/ディレクトリの権限や所有者などの属性が保持されることを保証します。 |
| -v | 冗長モードは、端末に表示されるログの数を増加させます。 |
| -x | rsync がファイルシステムの境界内で同期するように制限し、ホームディレクトリ内のマウントは除外します。 |
| -p | 各同期処理の進行状況を表示し、転送が中断された場合でも部分的に転送されたファイルを保持します。 |
| --delete | ソースディレクトリに存在しないディレクトリやファイルを、宛先ディレクトリから削除します。注意して使用してください。 |
| --exclude-from=ファイル | リストアップされたファイルとディレクトリを除外します。 |
完全なオプションについては、Rsyncウェブサイトにアクセスしてください。
1. Rsyncをインストールします。
sudo apt-get install rsync -y
Rsyncを開始して有効にします。
sudo systemctl start rsync
sudo systemctl を有効にする rsync
2. 外部ドライブに$HOMEディレクトリをバックアップします。
$ rsync -avxP --delete --exclude-from=/files/to/be/ignored_list.txt /home/external/drive/location
注意:Rsync を初めて使用する場合は、シミュレーションを実行するために -avxP の後に -n を追加してください。コマンドが想定どおり動作する場合は、-n を削除してバックアップ用のコマンドを実行します。
3. Linuxディレクトリをリモートホストにコピーします。
$ rsync -ar <ソースフォルダ> <宛先ユーザー>@<宛先ホスト>:<パス>
4. /etc/ ディレクトリをバックアップサーバーにコピーします。
$ rsync -ar /etcusername@xxx.xxx.xxx.xx:/etc_backup
5. bashでディレクトリをバックアップする際、現在の日付を示します。
$ rsync -ar /etc/* username@xxx.xxx.xxx.xx:/etc_backup /etc_$(date "+%F")
方法4:Scpを使用してLinuxディレクトリをバックアップする
Scp (secure copy) はssh接続や暗号化接続経由でファイルをコピーできます。このツールを使用して、リモートコンピュータとシステム間でファイルを複製したり、Linux、Mac、Windows上で1つのリモートコンピュータから別のコンピュータにファイルをコピーしたりできます。
1. Linuxディレクトリをリモートの場所にコピーします。
$ scp -r <ソースフォルダー> <宛先ユーザー>@<宛先ホスト>:<パス>
2. ホームフォルダー内のすべてのファイルをリモートフォルダーにコピーします。再帰的にファイルをコピーするには -r を追加します。
scp /home/user/html/* username@server:/path/to/folder/
3. /etc ディレクトリをバックアップサーバーにコピーします。
$ scp -r /etc username@xxx.xxx.xxx.xx:/etc_backup
方法5:Linuxファイル/フォルダ/サーバーのバックアップと復元
多機能なVinchin Backup & Recoveryを使用すると、ファイル、ディレクトリ、およびLinuxおよびWindowsのサーバーのバックアップと復元を行うことができます。また、Ubuntu、RHEL、CentOSなどの主要なLunix OS、VMware、Hyper-V、Xenなどの仮想化環境(15種類以上)、6種類のデータベース、およびNASにも対応しており、以下のような機能を備えています:
自動スケジュールによる簡易化されたバックアップおよび復元手順。
バックアップするファイルまたはフォルダーを1つ以上選択してください。
ワイルドカードを使用してファイルの種類を除外または含めます。
CIFSおよびNFSプロトコルで接続されたすべてのNASに、ファイル、フォルダ、サーバーをバックアップします。
AES-256アルゴリズムでデータ暗号化を有効にします。
暗号化された転送下で、NAS共有/ファイルサーバーへデータを簡単に復元できます。
直感的なWebコンソールから簡単にバックアップジョブを作成できます。
1. Linuxサーバーを選択します

2. バックアップ保存先を選択

3. バックアップ戦略を選択

4. 仕事の提出

完全なLinuxバックアップおよび復元のため、60日間の無料トライアルを今すぐダウンロードしてください。
Linux ディレクトリのバックアップに関するよくある質問
Q1: ディレクトリをバックアップする際にファイルの権限を保持するにはどうすればよいですか?
A: rsync -a または tar -cp オプションを使用して、バックアップ中に所有者、権限、ACL、および拡張属性を保持します。
Q2:動的システムディレクトリをバックアップから除外するにはどうすればよいですか?
A: --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* のように除外パターンを使用して、仮想およびランタイムファイルシステムをスキップし、不要なデータのバックアップを防ぎます。
Q3: LUKSヘッダーの災害復旧用バックアップ方法を教えてください。
A: LUKSヘッダーとキースロットのバイナリバックアップを安全に保存するには、cryptsetup luksHeaderBackup --header-backup-file <ファイル> <デバイス> を使用してください。
結論
Linuxにおいては、特定の重要なフォルダーやディレクトリーのバックアップを作成することが重要です。この記事では、バックアップが必要なLinuxディレクトリーとその方法5つについて詳しく説明しています。最初の4つの方法はコマンドラインに関するものであり、ユーザーはそれらをシステム内で実行するか、インストール後に実行できます。また、Vinchin Backup & Recoveryを使用して、LinuxおよびWindowsのすべての重要なファイル/フォルダー/サーバーのバックアップと復元を行うこともできます。
共有: