cpio
すべてのファイルとディレクトリを直接転送(たとえば、)する代わりに、転送(たとえば)のためにアーカイブファイルにすることで、どのようなcp
利点があるかを知りたいですscp
。
答え1
転送する前に複数のファイルを圧縮する理由は次のとおりです。
圧縮:複数の小さなファイルの代わりに1つの大きなファイルを圧縮すると、圧縮率が向上します。少なくともscpはすぐに圧縮できますが、ファイル単位で圧縮できます。
接続:少なくともscpを使用すると、転送するすべてのファイルに対して新しい接続を確立します。多くの小さなファイルを転送する場合、スループットが大幅に減少する可能性があります。
再開:転送プロトコルが途中で転送を再開できるようにする場合、転送が中断されたときにどのファイルが処理されているかを確認するよりも簡単になる可能性があります。
権限:ほとんどのアーカイブではファイルの所有権と権限を保持できますが、トランスポートプログラムではサポートされていない可能性があります。
ファイルの場所:ターゲットの場所が長いパスの末尾にある場合、またはまだ決定されていない場合は、アーカイブをターゲットに転送し、後でファイルを移動する場所を決定するのが便利です。
整合性:各ファイルのチェックサムを個別に計算して確認するよりも、単一のアーカイブファイルのチェックサムを計算して確認する方が簡単です。
答え2
通常、1つの大きなファイルを処理してから数千の小さなチャンクを処理する方が簡単です。
各ファイルのチェックサムを計算する必要はなく、ほとんどの場合、1つのアーカイブのチェックサムを作成するだけで十分です。
そして、ファイル権限も維持する方が簡単です。
これは私の理由のほんの一部です。
答え3
rsyncが利用可能な場合、最初に保持する利点はほとんどなくなります。
- 圧縮:rsyncには圧縮機能が組み込まれています(オプション-z)。
- 接続数:転送されたファイル数が増えても、接続数(通常は1)は増加しません。
- 再起動:rsyncは違いのみを送信するため、増分転送は簡単です。転送をすばやく再開するために、いくつかのファイルを保持することを選択できます。
- 整合性:チェックサムは内部的に使用されます。これに編集証がある場合は、-cオプションを強制的に使用して再確認できます。