GNU/Linux >> Linux の 問題 >  >> Linux

rsync による単一ファイルの転送の再開

中断されたコピーを再開するには、 rsync --append を使用する必要があります . --append のマンページの説明から :

<ブロック引用>

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

オプション --inplace rsync になります 宛先ファイルの内容を直接 (上書き) 書き込みます。 なし --inplacersync

<オール>
  • 一時的な名前で新しいファイルを作成する
  • 更新されたコンテンツをそこにコピーする
  • 宛先ファイルと交換し、最後に
  • 宛先ファイルの古いコピーを削除します。
  • 通常の操作モードは、主に宛先ファイルを開いている可能性のあるアプリケーションとの競合を防ぎ、 rsync に正式にリストされているその他のいくつかの事故を防ぎます。

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


    --append に注意してください --inplace を意味します 、それ自体が --partial を意味します .

    • --partial を使用するだけで rsync を引き起こす必要があります 部分的な転送を終了し、その後の試行でそれらを再開します。

    • --append を使用する rsync を引き起こす必要があります 部分的なファイルを残して、次回再開します。転送後 rsync 送信されたデータのチェックサムのみを検証する必要があります。

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

    • --append のいずれかで または --append-verify チェックサムの検証に失敗すると、ファイルが完全に再送信されます (--inplace を使用)。 )

    mv を再開できるはずです または cp rsync での操作 ただし、--append-verify を使用することもできます 安心のオプションです。

    --append を使用していることに注意してください rsync を引き起こす のみをコピーする 受信側のサイズが送信側のサイズよりも短いファイル (タイムスタンプに関係なく)、または受信側に存在しないファイル。このオプションに関するドキュメント:

    <ブロック引用>

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

    詳しくはマニュアルページをご覧ください


    デビッド・シュワルツが正解です、--partial (またはそれ以上、-P )あなたが望むことをします。ネットワーク経由で 8g 停止した 37G ファイルでこれを確認しました。 rsync はパーシャルの最初の部分をすばやくスキャンしました (-P のおかげで進行状況が表示されます)。 )、その後、部分ファイルの最後まで転送を再開しました。


    Linux
    1. Rsyncよりもスマートなファイル転送??

    2. 特定のファイルを1つのファイルに連結しますか?

    3. ファイル転送プロトコル(FTP)とは

    1. LinuxでNetcatを使用してファイルを転送する方法

    2. RSync:双方向で同期するにはどうすればよいですか?

    3. Docker でディレクトリとしてマウントされた単一のファイル ボリューム

    1. ファイル転送プロトコル:FTPとSFTP

    2. 1つのコマンドで2つのファイルタイプをRsyncしますか?

    3. 単一のファイルを複数の場所にscpします