ファイルのバックアップを作成するのは私にとって常に面倒で、そのせいで何度も大量のデータを失いました。それは私が賢くではなく一生懸命働いていたからであることがわかりました。 PC と外部ドライブの間でフォルダーをコピー&ペーストする代わりに、ファイルの変更のみを送信するツールを使用できます。この方法ではファイルのバックアップに数秒かかりますが、1 つのコマンドを実行するだけでバックアップできます。
rsync とは何ですか?誰のためのものですか?
Remote Sync または rsync は、1996 年から存在する無料のオープンソース プログラムであり、現在では Linux システムの標準となっています。これは、2 点間でファイルとディレクトリをコピーするために設計されたコマンドライン ツールです。
基本的に、2 つの場所間でファイルまたはディレクトリを段階的にコピーできます。のようなコピーユーティリティとは異なります。 cp、毎回ファイル全体がコピーされるわけではありません。 2 つの場所にあるファイル間の変更を比較し、変更のみを転送することで、帯域幅と転送時間を大幅に削減できます。
この増分アプローチを採用しているため、rsync は基本的に 2 つの場所間でファイルとディレクトリを同期します。チェックサムを実行して、ファイルの内容が転送中に失われたり破損したりしていないことを確認します。 rsync にはネットワーク機能もあり、暗号化された SSH ネットワーク プロトコル経由でデータを転送できるため、2 つのポイントはローカルである必要さえありません。
rsync の機能は紙の上では単純に思えますが、それが信じられないほど強力なものです。システム管理者は、サーバーのバックアップとミラーリングのためにツールキットにこれを保持します。開発者や組織は、コードをデプロイしたり、大規模なソフトウェア リポジトリをミラーリングしたりするためにこれを使用します。
私たちのような一般ユーザーにとって、rsync は個人のファイルやメディアをバックアップするのに最適な方法です。バックアップ用の外部ドライブを保存しておくと、バックアップを作成するたびにディレクトリ全体やファイル全体をコピーする必要がなくなります。単一のコマンドを実行して、rsync が変更されたファイルまたは新しいファイルのみを外部ドライブに転送するのを監視できます。
rsyncでできること
増分バックアップに加えて、rsync を使用して、ソースに変更を加えた後にディレクトリの完全なレプリカを作成できます。 rsync は 1 つのコマンドで、ターゲット ディレクトリには存在するがソース ディレクトリには存在しないファイルを消去できます。
これらのディレクトリをミラーリングするときに、権限、所有権、タイムスタンプ、シンボリック リンクが保持されます。 GUI ファイル マネージャーを使用してファイルをコピー アンド ペーストすると、メタデータ (作成日やアクセス許可) が変更される可能性がありますが、rsync は完全なコピー、メタデータ、その他すべてを作成します。
大きなファイルを転送する場合は、転送中にデータを圧縮でき、失敗した転送や中断された転送を再開できる rsync の方が良いオプションです。ファイル マネージャーも、多数の小さなファイルが関係している場合にはうまく機能しませんが、それは rsync には影響しません。 rsync を使用すると、速度が低下したり、データの再コピーに時間を浪費したりすることがなくなります。
また、ローカル転送で利用できる安全な機能を使用しながら、SSH トンネル経由でデータを転送するために使用することもできます。
要約すると、rsync はスマートな増分バックアップを作成するのに最適です。メタデータを含むファイルとフォルダーの完璧なミラーを作成できます。グラフィカル ファイル マネージャーよりも高速です。ファイル転送が中断された場合でも再開できます。ネットワーク転送でも同じ機能をサポートします。
rsyncの基本
パッケージ マネージャーの公式リポジトリから rsync をインストールできます。 Debian または Ubuntu システムの場合は、次のコマンドを実行して rsync をインストールします。
sudo apt install rsync
Arch ユーザーは次を使用してインストールできます。 pacman。
sudo pacman -S rsync
Fedora とその派生製品の場合は、このコマンドを試してください。
sudo dnf install rsync
rsync を使用するには、そのコマンドの基本構造を理解する必要があります。まず rsync プログラムを呼び出し、次にフラグまたはその組み合わせを追加してオンに切り替えるオプションを選択し、最後にソースと宛先のディレクトリ パスを指定します。
rsync (options) (source) (destination)
rsync では利用可能なオプションが多数ありますが、それを使用するためにすべてを知る必要はありません。これらは私の頼りになるフラグです。
-
アーカイブ (-a) は、権限、シンボリック リンク、メタデータを完全に保持しながらディレクトリをミラーリングするためのものです。
-
Verbose (-v) を指定すると、転送されるファイルのログがリアルタイムで表示されます。
-
圧縮 (-z) は、転送中にファイルを圧縮して転送を高速化します。
-
Progress または Partial (-p) を指定すると、ファイル転送が中断された場合でも確実に再開できます。
-
ドライ ラン (-n) は、変更をコミットする前に、どのような変更が行われるか、および宛先がどのようになるかをシミュレートします。重要なファイルを誤って上書きしたり消去したりしないようにするのに役立ちます。
rsyncを使ってフォルダを移動してみましょう。ダウンロード内の「Apple」というラベルの付いたこのフォルダーを、別のドライブの「OS」フォルダーに移動しようとしています。
rsync -avp /home/jellyjam/Downloads/Apple /mnt/7f1e8ebb-93ac-48eb-8138-42380cce3253/OS
「-avp」フラグは、アーカイブ、詳細、および進行状況のオプションをトリガーします。次に、ソースフォルダーと宛先フォルダーのパスを追加するだけです。
いずれかのパスの末尾に「https://www.howtogeek.com/」を追加した場合、rsync はフォルダー内のファイルの内容を宛先フォルダーにコピーするだけです。パスの末尾にスラッシュを付けずに残すと、フォルダーの内容だけでなくフォルダー自体も確実にコピーされます。
私と同じように、rsync を使用してホーム ディレクトリ全体のクローンを外部ドライブに作成し、完璧なバックアップを作成できます。時々、同じコマンドを実行して、変更されたファイルまたは新しいファイルでバックアップを更新できます。 rsync を使用してバックアップを更新すると、すべてをコピーする場合に比べてわずかな時間しかかかりません。