2. rsync

rsync とは?

異なるホスト間でデータをコピーするためのもう一つの必須ツールがrsync(リモート同期の略)です。scpと似ていますが、rsyncには非常に効率的であるための重要な違いがあります。それは、デモータ転送アルゴリズムを使用し、宛先にある既存のデータをインテリジェントにチェックし、変更されたファイルの部分のみを転送する点です。

例えば、大きなファイル転送が中断された場合、rsyncは最初からやり直すのではなく、ファイルの残りの部分のみを転送してコピーを再開できます。これにより、不安定なネットワーク接続に対して堅牢な選択肢となります。

rsync の主な特徴

rsyncの効率性は、そのスマートな最適化から来ています。転送中にコピーされたデータが破損していないことを確認するために、チェックサムを使用してファイル整合性を検証します。これらの機能は大きな柔軟性を提供し、rsyncを以下に最適なツールにしています。

  • ディレクトリの同期(リモートおよびローカル)
  • 増分データバックアップの作成
  • 大容量データ転送の効率的な処理

一般的な rsync オプション

いくつかのオプションを使用して、rsyncコマンドの動作を変更できます。最も一般的に使用されるものには以下が含まれます。

  • -v: 詳細出力。転送中のファイルを表示します。
  • -r: 再帰的。ディレクトリ全体をコピーするために必要です。
  • -h: 人間が読みやすい出力。数値をより理解しやすい形式(例:KB、MB)で表示します。
  • -z: 転送中にファイルデータを圧縮します。低速な接続に最適です。
  • -a: アーカイブモード。パーミッション、所有者、タイムスタンプを保持するために、いくつかのオプション(-rlptgoD)を組み合わせた便利なショートカットです。

rsync の使用例

同じホスト上のファイルの同期

ローカルマシン上の 2 つのディレクトリを同期するためにrsyncを使用できます。これはローカルバックアップを作成する場合に役立ちます。

rsync -avh /my/local/directory/one/ /my/local/directory/two/

リモートホストからローカルホストへのファイルの同期

リモートサーバーからローカルマシンにファイルをプルするには、まずリモートソースを指定します。

rsync -avh username@remotehost.com:/remote/directory/ /local/directory/

ローカルホストからリモートホストへのファイルの同期

ローカルマシンからリモートサーバーにファイルをプッシュするには、まずローカルソースを指定します。

rsync -avh /local/directory/ username@remotehost.com:/remote/directory/

ログインして学習進捗を保存

サインイン

演習

このトピックには特定の演習はありませんが、関連する Linux スキルと概念を練習するために、包括的なLinux 学習パスを探求することをお勧めします。

クイズ

効率的なデータバックアップの作成に特に役立つ、デモータ転送アルゴリズムで知られるコマンドは何ですか?英語で、大文字と小文字の区別に注意して回答してください。