web-dev-qa-db-ja.com

rsyncの代わりにscpを使用する理由はありますか?

scpの代わりにrsyncを使用する理由はありますか? scpを使用する理由は二度とわかりません。rsyncscpが行うすべてのことをより安全に実行します(シンボリックリンクなどを保持できます)。

66
mikebloch

scpは、セキュアなSSH接続を介して1つのマシンからリモートマシンにファイルをコピーするためのcpのような方法を提供します。

rsyncを使用すると、リモートフォルダーを同期できます。

それらは異なるプログラムであり、どちらにも用途があります。 scpは常に安全ですが、rsyncは安全のためにSSHを経由する必要があります。

49

主なものの1つ(誰も言及していないと思います)は、大量のデータまたはファイルを転送している場合、何らかの理由で転送が完了前に切断された場合、rsyncは中断したところからそれを取得します。 scpはしませんが。

1つまたは2つのファイルまたはディレクトリを転送する場合は、scpを使用します。マルチGBサイズのデータ​​をrsyncで取得します。

20
ravi

rsync:転送deltas(その を使用)デルタ転送アルゴリズム ):

  1. localおよびremoteホスト

scp:転送ファイル全体

  1. localおよびremoteホスト
  2. remoteおよびremoteホスト

概要:scpは2つのリモートホスト間でファイルを転送できますが、rsyncはサポートしていません。

11
Devesh Saini

WebhostingトークのユーザーChris 書き込み:

rsyncは両端のファイルを比較し、変更されたファイルの変更された部分のみを転送します。初めてファイルを転送するときは、scpとほとんど同じように動作しますが、2番目の転送では、ほとんどのファイルは変更されず、scpよりもはるかに少ないデータがプッシュされます。これは、失敗した転送を再開するための便利な方法でもあります。同じコマンドを再発行すると、以前に中断したところから再開されますが、scpは最初からやり直します。

2
nkint

scpの方が引数が少ないため、使用が簡単です。単一のファイルのみを転送する場合は、rsyncではなくscpを使用しています。おそらく、私はrsyncのエイリアスを定義するのが面倒です... ;-)

0
Nils

https://Gist.github.com/KartikTalwar/4393116 の@tomruniaへのクレジット

rsync -aHAXxv --numeric-ids --delete --progress \
  -e "ssh -T -c [email protected] -o Compression=no -x" \
  [source_directory] user@hostname:[target_directory]/

注意を払う --delete、無関係なファイルを宛先ディレクトリに保持したい場合は使用しないでください

0
Jorj