scp
相手から送信されたすべてのデータをコピーしたことを確認します。転送の整合性は、暗号化チャネルプロトコルによって保証されます。そのため、転送後に整合性を検証する必要はありません。これは冗長であり、比較対象のデータはおそらくキャッシュから読み取られるため、ハードウェアエラーをキャッチすることはほとんどありません。定期的にデータを検証することは有用ですが、転送直後に検証することは無意味です。
ただし、問題が発生したことをscp
伝えていないことを確認する必要があります。エラーメッセージが表示されますが、信頼性の高いインジケータは、scp
何か問題が発生した場合にゼロ以外の終了コードを返すことです。
より正確には、scp
0(つまり、成功ステータスコード)を返す場合、ファイルが正しく送信されたことを知っています。とにかくコマンドを実行するときは、終了ステータスが0であることを確認する必要があります。scp
エラーステータスを返す場合、シグナルによって強制終了された場合、または実行中にシステムがクラッシュしたり電源が失われたためにエラーが発生しない場合、保証はありません。特に、scp
ファイルを最終的な名前に直接コピーするため、これは、システムがクラッシュした場合に部分的なファイルになる可能性があることを意味します。コピーされた部分は正しいことが保証されていますが、ファイルは切り捨てられる場合があります。
信頼性を高めるには、scpではなくrsyncを使用してください。別の指示がない限り、rsyncは一時ファイルに書き込み、終了したら所定の場所に移動します。したがって、rsyncが成功コードを返した場合、ファイルが存在し、正しい完全なコピーが存在することがわかります。rsyncがエラーコードを返さなかった場合、ファイルは存在しません(古いバージョンのファイルが存在する場合を除き、その場合、その古いバージョンは変更されません)。
scp
とそれに付随するエラーメッセージを取得しない限り、すべてが正しく完全にコピーされます。