\r\n\r\n

リナックスシステムのバックアップ方法

データ消失のリスクを回避するlinuxのコマンドラインから大切なデータをバックアップします。このためにrsyncコマンドを使いますが、オプションで素敵なGUIも見つかりました...。

データ消失のリスクを回避するLinuxのコマンドラインから大切なデータをバックアップする。このためにrsyncコマンドを使用する予定ですが、オプションで素敵なGUIも見つかりました。

バックアップファイルの導入には、さまざまな方法があります。私たちは、お客様のデータを保護するための堅牢で柔軟かつ信頼性の高い方法を示したいと考えています。rsyncを選んだのは、rsyncが送信元と送信先のディレクトリのファイルの差分を計算する、非常に立派なアルゴリズムを持っているからです。ファイルの2つのバージョン間の差分のみが転送され、ファイル全体は転送されません(回避できる場合)。

この効率性と、1990年代半ばからファイルコピーやディレクトリ同期を実行してきた実績が組み合わさると、rsyncはLinuxのコマンドラインからバックアップを作成するための完璧な候補となります。

さらに、rsyncのフロントエンドとして機能するスタンドアロン・ソフトウェアが多数存在します。彼らはrsyncのグラフィカル・ユーザー・インターフェース(gui)を提供しており、人によってはこちらの方が使いやすいと感じるかもしれません。

バックアップがシンプルで高速であればあるほど、その可能性は高くなります。

外付けハードディスクでrsyncを使用する

外付けドライブにデータをバックアップするには、そのドライブをインストールし、アクセスする必要があります。書き込みができれば、rsyncもできる。この例では、SILVERXHD(「silverexternalhardwire」の略)というUSB外付けハードディスクをLinuxコンピュータに***挿入しています。オペレーティングシステムによって自動的にインストールされています。

GNOMEでは、Nautilusファイルブラウザを開き、サイドバーでドライブの名前を見つけます。

外付けドライブの名前にマウスポインタを合わせると、ツールチップにドライブへのパスが表示されます。

この例では、外付けドライブのファイルシステムのマウントポイントが "/media/dave/SILVERXHD" であることがツールチップに表示されています。

ファイルブラウザでこの操作ができない場合は、外付けドライブを参照し、その場所でターミナルウィンドウを開いてください。pwd コマンドを使用して、ターミナルウィンドウにパスを表示します。

コピー元ディレクトリからコンテンツをコピーする

rsyncを使用してディレクトリの内容をバックアップ対象にコピーするには、以下のコマンドを使用します。

r (recursive) オプションを使用すると、rsync はネストされたすべてのサブディレクトリとその内容をコピーします。なお、「SILVERXHD」の語尾にフォワードスラッシュ「/」がありますが、これはすでにスクリーンショットの次の行に回り込んでいます。

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

ファイルがコピーされると、コマンドラインプロンプトに戻ります。

外付けUSBドライブを見ると、Documentsディレクトリのディレクトリが外付けドライブのルートにコピーされていることがわかります。

ls

ソースディレクトリとその内容をコピーする

Documentsディレクトリとその内容を外部ドライブにコピーするには、以下のようにコマンドラインから「/home/dave/Documents」の末尾にある「/」を削除します。

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

混乱を避けるため、2番目のコマンドを実行する前に、先にコピーした2つのディレクトリを外付けドライブから削除しました。

2回目のコピーを完了させて外付けドライブを見ると、「ドキュメント」ディレクトリがコピーされていることがわかります。その内容は、そのディレクトリの中にあります。外付けドライブのルートディレクトリにない。

特定のターゲットディレクトリにコピーする

ターゲットドライブ上の特定のディレクトリにコピーする場合は、そのディレクトリ名をコピー先のパスに追加します。例えば、「/home/dave/Documents」ディレクトリの内容を、外付けドライブの「backups」というディレクトリにコピーしたいとします。

以下のコマンドで実現できます。

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

外付けドライブを確認すると、backupsディレクトリが作成され、その中に「/home/dave/Documents」ディレクトリの内容があることが確認できます。

ls ls backups

ドキュメントの所有権と権限の保持

コピーされたファイル、シンボリックリンク、特殊ブロックファイルに対して、変更日、ファイル所有者、アクセス権などのファイル属性を保持するには、-a(archive)オプションを使用します。

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

ディテールモードの使用

v (冗長) オプションは、rsync がこれらのファイルをコピーするときに一覧を表示するように強制します。

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

コピーが完了すると、バックアップの概要が表示されます。

  • 送信:ターゲットに転送されたバイト数。
  • Received:ホストで受信したバイト数。
  • Bytes/sec:実効転送速度である。
  • 合計サイズ:rsyncを使用しない場合に送信されるデータのサイズを示す。それ以降のrsyncの実行では、ファイルの差分のみを転送します。この数値は、転送する必要のないデータを示します。
  • アクセラレーション:送信しなければならないデータ量と総データ量との比率です。rsync がすべてのファイルを完全にコピーする必要がある場合 (たとえば、最初の実行時)、加速比は 1.0 になります。ファイル間の差分のみを送信し、ファイル全体は送信しません。変更されていないファイルは無視されます。アクセラレーションの数値は、転送する少量のデータと総ファイルサイズとの比率を示します。

進捗管理オプションの使用

P (progress) オプションは、各ファイルがコピーされた後、rsync が小さな進捗報告書を生成するようにします。

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

提供される情報は、コピーされた各ファイルの間で確認することができます。

提供する情報です。

  • バイトサイズ:このファイルのために転送されるデータ。
  • パーセンテージ:転送されたファイルの割合。
  • B/s:データ転送速度。
  • 残り時間:このファイルの転送にかかる推定残り時間です。
  • xfr#:これまでに転送したファイル数。
  • tochk: 最適化アルゴリズムでチェック・検証するファイルの数。

スピードの向上

転送を高速化するには、-z(compress)オプションを使用します。これは転送時にファイルを圧縮しますが、転送先のディレクトリにはファイルは圧縮されずに保存されます。

小さなファイルが多数含まれる転送の場合、圧縮オプションは大きな効果をもたらしません。大きなファイルの集合体であれば、転送時間を大幅に短縮することができます。

ここでは、-partialオプションも使用しています。rsyncは、ネットワーク障害やその他の中断により、部分的に転送されたファイルを削除します。-partialオプションは、rsyncが部分的に転送されたファイルをターゲットに残すことを強制します。rsyncが実行されているときは、部分的に転送されたファイルを再転送する必要はありません。

ただし、部分的に転送されたファイルを完全に転送されたファイルと勘違いする人がいる場合は、このオプションを使用しない方がよいでしょう。

rsync -ravz --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

私たちの場合、利益はわずかでした。

加速度比は200%アップ!実戦ではさらにスピードアップを実感できるはずです。

ネットワーク経由でrsyncを使用する

今のところ、ターゲットは外付けのUSBメモリです。ネットワーク上の場所をバックアップのターゲットとして使用するには、その場所へのパスをコマンドラインで使用します。今回調査したネットワークには、NAS(Network Attached Storage Device)が搭載されています。

Nautilusでそのデバイスへの接続にカーソルを合わせることで、先ほどと同じトリックを使ってNASのパスを特定することができるのです。

クロスネットワークバックアップのための特別なオプションはなく、これらはすでに使用されているオプションです。

rsync -ravz --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

出力形式に違いはありません。

当然のことながら、バイト/秒の数値は大幅に向上しています。

もう一度rsyncを実行すると、何も変わっていないので転送するファイルがないことがわかりますが、まだいくつかのバイトが往復転送されていることがわかります。ターゲット上のファイル一覧とソース上のファイル一覧を比較したときに転送が必要なデータ量です。

この場合、加速度比は一桁高くなります。事実上、性能比はこの2つの擬似マニュアルの中間に位置することになります。

ssh経由でrsyncを使用する

rsyncは、SSH接続でのバックアップをサポートしています。コマンドラインでユーザーアカウント名とSSHの場所を指定する必要があります。ここではネットワーク名を使用していますが、IPアドレスを使用することも可能です。

SSH接続の詳細とリモートターゲット上のネットワークパスの開始位置の間に": "があることに注意してください。

rsync -ravz --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

リモートコンピュータのユーザーアカウントのパスワード(コピー元コンピュータのパスワードではない)を入力するよう求められます。

暗号化と復号化は安全なシェル接続で行われるため、スループットは通常のネットワーク接続ほど速くはありません。

バックアップの自動化

crontabファイルにエントリーを追加することで、簡単に自動バックアップを作成することができます。

crontab -e

毎日04:30に実行される自動バックアップを設定します(もちろん、その時間にコンピュータの電源が入っていればですが)。 rsyncコマンドの構文は全く変わっていません。

Ctrl+Oで変更内容をファイルに書き込み、Ctrl+Xでnanoエディタを終了します。

関連:Linuxでタスクをスケジュールする方法:Crontabファイル入門

rsyncに親しみを込めて

コマンドラインに慣れていない人は、rsyncにグラフィカル・ユーザー・インターフェース(GUI)を配置する多くのプログラムのうちの1つを使用することができます。2つの良い例がluckyBackupとGrsyncで、どちらもGUIで多くのrsyncオプションを選択することができます。

Grsyncプログラムは、rsyncのビジュアルラッパーになることを目指しています。rsyncのオプションに簡単にアクセスでき、限られた新機能を追加するだけです。

luckyBackup プログラムは、単なる rsync のラッパーではありません。バックグランドでrsyncを使用するバックアッププログラムです。例えば、luckyBackupはバックアップの「スナップショット」を複数作成することができます。そして、スナップショット内のファイルの任意のバージョンに「ロールバック」することができます。

grsyncのインストール

UbuntuにGrsyncをインストールするには、次のコマンドを使用します。

sudo apt-get install grsync

FedoraにGrsyncをインストールするには、次のコマンドを使用します。

sudo dnf install grsync

ManaroにGrsyncをインストールするには、次のコマンドを使用します。

sudo pacman -Syu grsync

luckybackupのインストール

UbuntuにluckyBackupをインストールするには、次のコマンドを使用します。

sudo apt-get install luckybackup

FedoraにluckyBackupをインストールするには、次のコマンドを使用します。

sudo dnf install luckybackup

Manjaro では、luckyBackup は Arch User Repository (AUR) からインストールする必要があります。これを行うには pamac パッケージマネージャを使うことができます。

こまめなバックアップを心がけましょう。

バックアップは絶対に必要です。こまめなバックアップ、複数の場所へのバックアップ、異なるメディアへのバックアップ。一度セットアップすれば、rsyncはこのすべてをやってくれる。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ