使用 rsync 将文件从远程服务器复制到本地计算机
一旦我通过 ssh 进入远程服务器,将所有文件从目录复制到我的计算机上的本地目录的命令是什么?
Once I've ssh'd into my remote server, what would the command be to copy all files from a directory to a local directory on my machine?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
从本地计算机:
从具有非标准 ssh 端口的本地计算机:
或者从远程主机,假设您确实想以这种方式工作并且本地计算机正在侦听 SSH:
请参阅
man rsync
了解我常用开关的说明。From your local machine:
From your local machine with a non standard ssh port:
Or from the remote host, assuming you really want to work this way and your local machine is listening on SSH:
See
man rsync
for an explanation of my usual switches.如果您有 SSH 访问权限,则无需先 SSH 再复制,只需使用 安全复制 (SCP) 从目的地。
支持通配符,因此
将复制该文件夹中的所有远程文件。如果复制多个目录。
注意 -r 也会复制所有子文件夹和内容。
If you have SSH access, you don't need to SSH first and then copy, just use Secure Copy (SCP) from the destination.
Wild card characters are supported, so
will copy all of the remote files in that folder.If copying more then one directory.
note -r will copy all sub-folders and content too.
我认为最好从本地计算机复制文件,因为如果文件数量或文件大小很大,如果当前的 ssh 会话丢失(管道损坏或其他任何情况),复制过程可能会中断。
如果您已配置 ssh 密钥来连接到远程服务器,则可以使用以下命令:
其中
v
选项为--verbose
,a
选项是--archive
- 存档模式,P
选项与--partial
相同 - 保留部分传输的文件,e
选项是--rsh=COMMAND
-指定要使用的远程 shell。rsync 手册页
I think it is better to copy files from your local computer, because if files number or file size is very big, copying process could be interrupted if your current ssh session would be lost (broken pipe or whatever).
If you have configured ssh key to connect to your remote server, you could use the following command:
Where
v
option is--verbose
,a
option is--archive
- archive mode,P
option same as--partial
- keep partially transferred files,e
option is--rsh=COMMAND
- specifying the remote shell to use.rsync man page