rsyncを使用してリモートサーバーからローカルマシンにファイルをコピーする


319

リモートサーバーにsshした後、コマンドを実行して、すべてのファイルをディレクトリからマシンのローカルディレクトリにコピーしますか?


4
rsyncローカルマシンから直接アクセスできるからです。
Johnsyweb

2
ああ…はい。今、他の答えが見えます。ありがとう。
markstwie

17
これは(Web)開発の一般的なタスクであり、適切な回答が得られます。それがまだ閉鎖されている理由がわかりません。
d.raev 2014

6
d.raevは質問がされたという事実に言及していた@私は思いますオフトピックとして閉じた(私が正しくリコール場合は、この質問はされるために、私はフラグを立て移行しなかったというよりも、私はそれがより良いフィットすると思うスーパーユーザに)何の受け入れ答え。それでも...結局、私の答えが受け入れられて良かった。:-)
Johnsyweb

3
@markstewie悪い感情はありません。それは良い質問であり、私を助けました(他の多くもそうです)。
d.raev 2014

回答:


575

ローカルマシンから:

rsync -chavzP --stats user@remote.host:/path/to/copy /path/to/local/storage

非標準のsshポートを持つローカルマシンから:

rsync -chavzP -e "ssh -p $portNumber" user@remote.host:/path/to/copy /local/path

または、リモートホストから、実際にこの方法で作業したいが、ローカルマシンがSSHでリッスンしていると仮定します。

rsync -chavzP --stats /path/to/copy user@host.remoted.from:/path/to/local/storage

man rsync通常のスイッチの説明については、を参照してください。


255
コマンドの説明:explainshell.com/...
beefsack

118
うわー、それはシェルサイトが素晴らしいことを説明しています。
gosukiwi 2015年

2
@cmcdragonkai:実際、ローカルホストはsshサーバーを実行していて、リモートホストからアクセスできる必要があります。これが、2番目のソリューションよりも最初のソリューションを好む理由の1つです。
Johnsyweb 2015

16
末尾のスラッシュでrsyncするときは注意してください。Johnnyswebによって与えられたコマンドは、copy insideというディレクトリを作成します/path/to/local/storage。そう/path/to/local/storage/copyです。それがあなたが素晴らしいものだとしたら。ただし、より一般的なシナリオは、リモートディレクトリの内容をローカルのディレクトリにコピーすることです。次に、ローカルコピーディレクトリを作成せずに/path/to/copy/、ディレクトリ内にコンテンツを配置し/path/to/local/storageます。
2015年

16
私はrsyncコマンドのためにここに来て、explainshell.comをやめました。@beefsackに感謝!
Cyphase 2017

49

SSHアクセスがある場合は、最初にSSHを実行してからコピーする必要はなく、宛先からセキュアコピー(SCP)を使用するだけです。

scp user@host:/path/file /localpath/file

ワイルドカード文字がサポートされているため、

scp user@host:/path/folder/* /localpath/folder

そのフォルダ内のすべてのリモートファイルをコピーします。複数のディレクトリをコピーする場合。

注-rを指定すると、すべてのサブフォルダーとコンテンツもコピーされます。


6
scp代わりに使用するのはなぜrsyncですか?また、user@host:/path/folder/*おそらく単一引用符(')を使用して、シェルが展開しようとしないことにも注意してください。
Johnsyweb

宛先からscpを使用する方が簡単だと思います。基本的にはsshを介したファイルコピーですが、最初にssh接続を確立する必要はありません。
Tezyn、2012

8
scpはそれが私の質問ではなかったことを知っています。なぜ使用しなかったのですrsyncか?これは、質問が求めるものであり、確立されたSSHセッション必要とせず、多くの場合、よりも高速で効率的ですscp
Johnsyweb

26
scpはシンボリックリンクをコピーするのではなく、追跡します。これにより、予想以上にコピーされ、シンボリックリンクが失われます(通常のフォルダー/ファイルになります)。
Mondane、2014年

2
この投稿を見つけたのは、まさにモンダーネの反応です。通常、私はすべてにscpを使用しますが、アクセス許可とシンボリックリンクをサーバー間で保持する必要がありました。また、速度の違い(BC初心者は間違いなく最初にscppされた)は非常に大きかった。
カイル2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.