質問: rsyncによる単一ファイルの転送を再開します ubuntuでは、大きなファイルをハードドライブからリムーバブルドライブにrsyncでコピーしたいと思います。その他の理由により、操作は1回の実行で完了できません。だから私はrsyncを使って前回中断したところからファイルのコピーを再開する方法を理解しようとしています。オプション--partialまたは--inplaceを使用しようとしましたが、--progressとともにrsyncが--partialまたは--inplaceで実際に開始することがわかりました前回残ったものからではなく、最初から。手動でrsyncを早期に停止し、受信したファイルのサイズを確認しても、私が見つけたことが確認されました。しかし、--appendを使用すると、rsyncは前回残ったものから始まります。 man page --partial、--inplace、および--appendで見たように混乱しています。前回残ったものからのコピーの再開に関連しているようです。誰かが違いを説明できますか?コピーの再開で--partialまたは--inplaceが機能しないのはなぜですか?コピーを再開するには、rsyncが--appendオプションを使用する必要があるのは本当ですか?また、部分的なファイルがrsyncではなくmvまたはcpによって残された場合、rsync --appendはファイルのコピーを正しく再開しますか?
回答: 中断されたコピーを再開するには、rsync --appendを使用する必要があります。 manページの--appendの説明から: これにより、rsyncはファイルの末尾にデータを追加してファイルを更新します受信側に既に存在するデータは送信側のファイルの先頭と同一であると想定しています。 [ ...]暗黙の--inplace、[...] オプション--inplaceはrsyncに宛先ファイルの内容を直接(上書き)書き込みます。 なし --inplace、rsyncは次のようになります: 一時的な名前で新しいファイルを作成し、 更新されたコンテンツをそれにコピーし、 それを宛先ファイルと交換し、最後に 宛先ファイルの古いコピーを削除します。 通常の操作モードは、宛先ファイルを開いている可能性のあるアプリケーションとの競合、およびrsyncマンページに正式にリストされているその他のいくつかの事故を主に防ぎます。手順1.〜3.でコピー/更新操作が失敗した場合は注意してください。上記の場合、rsyncは一時的な宛先ファイルを削除します。 --partialオプションはこの動作を無効にし、rsyncは部分的に転送された一時ファイルを宛先ファイルシステムに残します。したがって、最初のrsyncを--partialまたは--partial-dir(--partialと同じ効果に加え、rsyncは、特定のディレクトリにすべての一時ファイルを作成します)。