如何通过ssh复制目录

如何通过ssh复制目录

我已连接ssh并且我想从我的当地的给我们的偏僻的服务器;我怎样才能做到这一点?我读过几篇使用scp但对我不起作用的帖子。有些帖子建议使用rsync,但就我而言,我只想复制一个目录。

答案1

如果您想在登录 a 的情况下将目录从机器 a 复制到 b:

scp -r /path/to/directory user@machine_b_ipaddress:/path/to/destination

如果您想在登录到 b 的情况下将目录从计算机 a 复制到 b:

scp -r user@machine_a_ipaddress:/path/to/directory /path/to/destination

答案2

您可以使用cpiotar创建存档作为标准输出上的流,将其通过管道传输到 ssh 并在远程主机上提取流。例如,使用 tar:

tar cf - dir | ssh remotehost 'tar xf -'

要将存档解压到远程主机上的不同目录中,请使用

tar cf - dir | ssh remotehost 'tar xfC - /path/on/remote'

如果您tar支持该C选项或:

tar cf - dir | ssh remotehost '
  cd /path/on/remote && tar xf -'

如果不。

如果在低带宽连接上,您可能需要压缩流:

tar cf - dir | gzip -3 | ssh remotehost '
  cd /path/on/remote && gunzip | tar xf -'

(将gzip/替换gunzip为您选择的流压缩器,如果您发现 CPU 是瓶颈,lzop/可能是更好的选择)。lzop -d

答案3

认为这可能对你有用:

scp file user@host:/location_to_save_file

scp- 安全复制 - 您想要 scp 到远程节点的文件 - 有权 scp 文件的用户,即 sysadmin 等 @- 用户和主机分隔符 host - 您所在的节点 scp 文件 :/location_to_save_file- 绝对路径保存文件

相关内容