\r\n\r\n
Linuxに移行する際、お使いのバージョンにデフォルトでバックアップユーティリティが付属していることにお気づきになるかもしれません。しかし、システムの重要な部分をすべてバックアップするように設定されているとは限りません。また、デフォルトのツールを使用すると、必要以上にバックアップが大きくなり、効率が悪くなる場合があります。
ここでは、利用可能なストレージスペースを最大限に活用するために、Linuxシステムのバックアップの代替方法をいくつか紹介します。
Ubuntuのデスクトップ上のデフォルトツールであるdejá-dupは、デフォルトではホームディレクトリをバックアップするようにしか設定されていません。しかし、これでは、システムを簡単に正常な状態に戻すために必要な重要なものが抜けています。システムは次の3つの部分から構成されていると考えてください。
これで、上記の3つをバックアップするためのデフォルトのツールを簡単に設定することができます。しかし、それは多くのストレージ容量を持っていることが前提であり、あるいはインターネット上で大量のデータをシャッフルすることが伴うかもしれません。以下のアプリケーションとヒントは、必要な容量を最小限に抑えながら、メルトダウンの際にも確実に保護できるようにするために役立ちます。
これは、/home/[username]ディレクトリのユーザーアカウントに存在するデータです。これには、通常ドットで始まるファイルやディレクトリ(例:/home/[username]/.local)に保存されている個人設定のほか、音楽、画像、その他のファイルやフォルダ(デフォルトのドキュメントやダウンロードフォルダなど)も含まれます。これはバックアップに重点を置く可能性が高いデータで、箱から出して使うことが最も多いデータです。
ホームディレクトリを別パーティションにする良い理由は、システムの主要部分とは別に使用することができるからです。この場合、パーティション全体をクローンすることで、ホームディレクトリのバックアップを取ることができます。そして、ディスクレベルと同じように正確にリストアすることができます。
先に述べたように、オプションの1つはddで、ディスクやパーティションを正確にクローンします(これは、バックアップがパーティション全体と同じサイズであることを意味します)。ディスク/パーティションの構造をバックアップし、未使用のディスク領域を省くので、バックアップはパーティションに含まれる実際のデータのサイズだけとなります。
ファイルシンクは、特に複数のデバイスを使用している場合、個人的なファイルのための素晴らしい選択肢です。rsyncなどの単純なファイルコピーユーティリティ、Dropboxなどのオンラインサービス、Resilio Syncなどのローカル/ピアツーピアプログラムなど、選択肢は多すぎて選べないほどだ。これらの中には、追跡された履歴を提供するものもありますが、それは微細な変化ごとになるため、扱いにくく、ストレージの無駄にもなりかねません。
ホームディレクトリ以外では、以下のものをバックアップの一部として絶対に考慮する必要があります。
標準的な「アーカイブスタイル」のバックアップツールは、これらのシステムディレクトリを扱うこともできます。通常、ソースディレクトリ内のファイルを見て、そのファイルの最近のバックアップが存在するかどうかを判断し、存在しない場合は作成/更新を行います。彼らは複数のコピーを保持することができ(つまり、1日に1つ、1週間に1つ)、多くの場合、ディスクスペースを節約するためにアーカイブファイルを圧縮することができます。デジャ・ドゥプやバックインタイムのようなプログラムも含め、さまざまなオプションが用意されています。
これらのバックアップジョブは、rootに設定するか、ツールの内蔵機能を使って管理者権限で実行する必要があります。
そして、これらのアプリケーション(backintimeは下図)を使って、新規または既存のバックアップジョブに目的のディレクトリを追加するだけです:。
バックアップするディレクトリを選択することで、一般的な「システム全体」のバックアップと比較して、ある程度の容量を節約することができます。この記事で、/var サブディレクトリが必要な場合と不要な場合のヒントをご確認ください。
特に/etcディレクトリについては、etckeeperというユーティリティがソースコード管理を用いて、重要なシステム設定のバックアップを支援します。Ubuntuにインストールする場合は、以下のコマンドが必要です。
sudo apt-get install etckeeperインストールの一環として、バックアップ(事実上gitリポジトリ)を作成し、/etc以下のすべてのファイルをそこにコミットします。
システム設定の履歴は、任意のgitクライアントで確認することができます。さらに、このアプリケーションでは、日次で設定変更をコミットするcronジョブも設定されています。しかし、ほとんどの設定ファイルはプレーンテキストで作成され、git(および他のソースコード管理システム)は変更を一行ずつ保存するという原則に従わないため、複数のバージョンを保存した場合の記憶容量は非常に小さくなる可能性があります。
aptikプログラムは、多くのバックアップ/リストアツールを便利なGUIにカプセル化しています:。
インストール済みソフトウェア機能は、デフォルトで明示的にインストールされているパッケージをバックアップするもので、次の図は、これが非常に短いリストになり得ることを示しています。
なぜ、こんなに短いのですか?まあ、このバックアップを使うためには、すでにベースシステムがインストールされている必要があるので、ベースシステムのパッケージは必要ないんですけどね。これらの数十個のパッケージだけをインストールすれば、パッケージマネージャはそれらの依存関係をすべてインストールするように配慮してくれます。つまり、「ソフトウェアのフルバックアップ」は、数十メガバイトの記憶容量で済むのです。賢いですよね。
コマンドラインに慣れている人なら、aptikよりもっとうまくできるかもしれません。後でシステムを確実に復元するために、次のことを試してみてください。パッケージのバックアップを一切とらず、パッケージのリストをキャプチャする。次のコマンドは、インストールされているパッケージのリストをテキストファイルにエクスポートします。
sudo dpkg --get-selecti*** > my-packages.txtシステム上のパッケージの可読性を示すだけでなく (上記のように)、次のコマンドによってこれらのパッケージの一括再インストールを行うことができます。
sudo dpkg --set-selecti*** < my-packages.txtsudo apt-get -u dselect-upgrade手動でインストールする場合は、自分で処理する必要があることに注意してください(/usr/localと/または/optに配置されることがあります)。しかし、そうでなければ、以前のシステムと復元されたシステムの違いは、すべてが最新バージョンになること、おそらくあなたが望むバージョンになることだけです。しかも、数キロバイトのコストで、これだけのことができる。
最悪の事態が発生した場合でも、迅速にバックアップを取り、稼働できるようにするために、できるだけ多くの組み合わせで使用することを忘れないでください。
バックアップに役立つ上記のツールを使っていますか? あなたのバックアップの秘訣をコメントで教えてください。