rsyncで途中からデータ転送を再開する方法と挙動について

Linux系

rsyncを使ったデータ転送中に途中で中断された場合、再度転送を開始した際にデータ転送が再開されるのか、それとも最初からやり直しになるのかという点について解説します。

rsyncの基本的な動作

rsyncは、ファイルやディレクトリを転送する際に、転送されたデータを記録し、既に転送された部分を再度転送しないように設計されています。これにより、途中で転送が中断されても、再開時に効率的に転送が行われます。

中断された転送の再開について

質問者のように、rsyncでデータ転送中に中断が発生した場合、再度同じコマンドを実行すると、rsyncは自動的に転送済みの部分をスキップし、未転送の部分のみを再転送します。そのため、すでに転送されたhoge_01/ディレクトリ内のデータは再転送されず、未転送のデータから転送が再開されます。

rsyncのオプションによる挙動の調整

rsyncにはさまざまなオプションがありますが、-a(アーカイブモード)や-e(ssh経由での転送)などのオプションは、通常の転送を効率的に行うために使われます。中断された転送を再開する際に追加で指定するオプションとしては、–partial(部分的に転送されたファイルを保持する)や–progress(進行状況を表示)などが有効です。これにより、より確実に再開することができます。

再開時の注意点

再度rsyncを実行する際、転送するディレクトリを正しく指定することが重要です。例えば、hoge_01/ディレクトリの転送を再開する場合は、パスの指定を慎重に行い、完全に転送されていない部分のみが対象となるようにします。また、ディレクトリ内の既存ファイルやフォルダに対する上書きや確認が必要な場合もあるため、その点も考慮してコマンドを実行しましょう。

まとめ

rsyncでは、途中で転送が中断された場合、再実行すると転送が途中から再開されます。転送途中のデータが重複して転送されないように、rsyncは転送済みのファイルを認識し、未転送の部分のみを効率的に転送します。再開時には、–partialや–progressなどのオプションを使うと、より確実に再開することができます。

コメント

タイトルとURLをコピーしました