RSyncの例–RsyncオプションとSSH経由でファイルをコピーする方法

Rsyncは「リモート同期」の略です。これは、ファイルを効率的に転送するのに役立つリモートおよびローカルのファイル同期ツールです。

RSyncとは

Rsyncは、Secure Copy Protocol(SCP)などのツールよりも高速です。更新されたファイルのセクションのみをコピーすることにより、データ転送を最小限に抑えるデルタ転送アルゴリズムを使用します。

Rsyncの追加機能には次のものがあります。

  • リンク、デバイス、所有者、グループ、およびアクセス許可のコピーをサポートします
  • スーパーユーザー権限は必要ありません
  • レイテンシコストを最小限に抑えるためのパイプラインファイル転送

ファイルをローカルからリモートに、またはリモートからローカルにのみ転送できます。Rsyncは、リモートからリモートへのファイル転送をサポートしていません。

RSyncのしくみ

Rsyncとは何かがわかったので、Rsyncの操作方法を見てみましょう。

Rsyncは、SSHやSCPなどの他のリモートサーバー管理ツールと同様に機能します。

Rsyncの基本的な構文は次のとおりです。

rsync [options] source [destination]

ローカルシステムからリモートサーバーにファイルを転送するための構文は次のとおりです。これは「プッシュ」操作とも呼ばれます。

rsync local_file_path [email protected]:remote_file_path

「プル」操作とも呼ばれる、リモートサーバーからローカルシステムにファイルを転送する方法は次のとおりです。

rsync [email protected]:remote_file_path local_file_path
注:リモートシステムを使用する場合は、リモートシステムへのSSHアクセス権があることを確認してください。Rsyncは、ファイル転送を有効にするためにSSHを使用して接続を確立します。

RSyncでフラグを使用する方法

Rsyncを使用すると、コマンドラインフラグを介してオプションを追加できます。いくつかの便利なフラグを見てみましょう。

再帰的

-rオプションを追加すると、RSyncは再帰的なファイル転送を実行します。これは、ディレクトリを操作するときに役立ちます。次に例を示します。

rsync -r [email protected]:remote_directory/ local_directory

アーカイブ

-aフラグは、ファイルの転送中にシンボリックリンクを保存するために使用されます。アーカイブフラグは、ソースディレクトリからの特別なファイルとデバイスファイル、変更時間、およびアクセス許可も保持します。

アーカイブフラグもファイルを再帰的に同期するため、再帰フラグよりも多く使用されます。使用方法は次のとおりです。

rsync -a [email protected]:remote_directory/ local_directory

圧縮

-zフラグを使用してファイルを圧縮することもできます。ファイルを圧縮すると、ネットワークの負荷が軽減され、ファイル転送が高速化されます。

rsync -az [email protected]:remote_directory/ local_directory

進捗

大きなファイル転送の場合、操作の進行状況を知ることは役に立ちます。-Pフラグを使用して、ファイル転送の進行状況を知ることができます。Rsyncを使用すると、ファイル転送が中断された場合にファイル転送を再開することもできます。

rsync -aP [email protected]:remote_directory/ local_directory

詳細

最後に、verboseコマンドは、ファイル転送のすべてのステップを理解するのに役立ちます。これには-vフラグを使用できます。

rsync -av [email protected]:remote_directory/ local_directory

RSnscでhelpコマンドを使用して、すべてのオプションとフラグのリストを取得することもできます。

rsync --help

結論

Rsyncは、SCPのような代替手段と比較して、堅牢で、用途が広く、柔軟なツールを提供することにより、ファイル転送プロセス全体を簡素化します。

RSyncは、ローカルマシンとリモートマシン間のメンテナンス操作、バックアップ、および一般的なファイル操作に最適です。

参考文献

  • //www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
  • //linux.die.net/man/1/rsync
  • //www.geeksforgeeks.org/rsync-command-in-linux-with-examples/

私はマニッシュで、サイバーセキュリティ、人工知能、DevOpsについて書いています。この記事が気に入ったら、私のブログをここで見つけることができます。