rsyncを介して個々のファイル転送を再開する

rsyncを介して個々のファイル転送を再開する

Ubuntuからハードドライブの大容量ファイルをリムーバブルドライブにコピーしたいですrsync。他の理由により、単一の実行でジョブを完了できません。そのためrsync、最後に停止した場所から履歴書を使用してファイルをコピーする方法を学びたいと思います。

--partialorオプションを試しましたが、--inplaceorと一緒に使用すると、最後に残ったものから始めるのではなく、withまたは実際に最初から始めることが--progressわかりました。手動で早く停止し、受信したファイルのサイズを確認した結果も確認されました。rsync--partial--inplacersync

しかし、--appendrsyncの場合、前回中断した部分から始まります。

オンラインで読んで混乱しています。マニュアルページ --partial、、、--inplace--append最後の残りのコンテンツからコピーを再開することに関連しているようです。誰でも違いを説明できますか?なぜコピーを再開しないのですか--partial--inplaceレプリケーションを再開するには、このオプションを使用する必要rsyncがありますか?--append

また、一部のファイルがrsyncmvまたはcprsync以外に残っている場合、コピーされrsync --appendたファイルは正しく復元されますか?

答え1

rsync --append中断されたレプリケーションを再開するには、マニュアルページの説明で以下を使用する必要があります--append

これにより、rsync はファイルの末尾にデータを追加してファイルを更新します。 受信側に既に存在するデータは、送信側のファイルの先頭と同じであると仮定する。 [...]ヒント--inplace, [...]

このオプションは、ターゲットファイルの内容を--inplace直接書き込みます(上書き)。rsyncいいえ --inplacersync会議:

  1. 一時的な名前で新しいファイルを作成し、
  2. 更新されたコンテンツをコピーして
  3. ターゲットファイルと交換して最後に
  4. ターゲットファイルの古いコピーを削除します。

通常の動作モードは、主にターゲットファイルを開くことができるアプリケーションとの競合だけでなく、マンページに適切にリストされているその他の事故を防ぎますrsync

手順1.-3でコピー/更新操作が失敗する場合は注意してください。上記では、一時 rsyncターゲットファイルが削除されます。この--partial オプションはこの動作を無効にし、部分的rsyncに転送された一時ファイルをターゲットファイルシステムに残します。したがって、単一ファイルコピージョブを再開することは、またはを使用して最初のジョブを呼び出さない限り大きな効果はありません(rsync同じ効果がありますが、すべての一時ファイルが特定のディレクトリに作成されるように指示します)。--partial--partial-dir--partialrsync

答え2

これはを--append意味し--inplace、これ自体はを意味します--partial

  • を使用すると、部分的な転送を維持し、その後の試行から回復する必要が--partialあります。rsync

  • これにより、一部のファイルをアーカイブしてから復元する必要があり--appendます。rsync転送後は、rsync転送されたデータのチェックサムのみを確認してください。

  • --append-verify前の転送で送信された部分を含むファイル全体をチェックサム確認に含めます。

  • チェックサム検証が失敗し--appendたり失敗した場合、--append-verifyファイルは完全に再送信されます(--inplace

mv復元またはcp操作できる必要がありますrsyncが、心の平和のためにこのオプションを使用することをお勧めします--append-verify

コピーするには--append原因を使用してください。rsyncただこれらのファイルは、タイムスタンプに関係なく、送信者よりも受信者のサイズが小さいか、受信者には存在しません。このオプションによる文書化:

ファイルを転送する必要があり、受信者のファイルサイズが送信者のファイルサイズと同じか長い場合は、ファイルをスキップします。

詳しくはマニュアルページ

答え3

David Schwartzが正しい。--partial(またはより良い方法は-P)正確に必要なものを行います。ネットワーク経由で約8gで停止した37Gファイルでこれを確認しました。 rsyncは、部分ファイルの最初の部分をすばやくスキャンし、(進行率が表示されている-P)部分ファイルの終わりまで転送を再開します。

答え4

あなたが正しいなら、--partialそれはあなたが望むものです。コピーする必要があるファイルデータブロックのリストの先頭から常に始まるので、最初から始めているようです。この--appendオプションは危険であり、何らかの理由でデータが一致しないとファイルが破損する可能性があります。

関連情報