【问题标题】:How to copy a directory from local machine to remote machine如何将目录从本地机器复制到远程机器
【发布时间】:2021-11-18 14:52:24
【问题描述】:

我正在使用 ssh 连接到远程机器。

有没有办法可以将整个目录从本地机器复制到远程机器?

我发现 this 链接可以反过来做,即从远程机器复制到本地机器。

【问题讨论】:

  • 它应该工作!但是除非你给我们一些错误信息或错误行为而不是说“不起作用”,否则我们无法调试。
  • @hivert :你是对的,它的工作原理。我不知道我第一次做错了什么。我不记得确切的错误,但我无法重现它。无论如何谢谢:)
  • 道德是“在stackoverflow上询问时总是复制粘贴错误消息”;-)
  • @hivert: 加载到内存:)

标签: ssh rsync scp


【解决方案1】:

最简单的方法是 scp

scp -r /path/to/local/storage user@remote.host:/path/to/copy

rsync 最适合您想要更新之前复制的版本。

如果这不起作用,请使用-v 重新运行并查看错误是什么。

【讨论】:

  • 小写的“a”选项是什么?,我在手册中看不到任何提及。
  • a 通常是存档标志,但我无法在我现在可以访问的任何框中找到它作为有效选项,因此它要么已被删除,要么从未存在。无论哪种方式,省略都是安全的。
【解决方案2】:

rsync 也很容易:

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

我建议使用rsync 而不是scp,因为您很可能有一天需要rsync 提供的功能,然后您会从使用该工具的经验中受益。

【讨论】:

    【解决方案3】:

    这对我有用

    rsync -avz -e 'ssh' /path/to/local/dir user@remotehost:/path/to/remote/dir
    

    【讨论】:

      【解决方案4】:

      如果您必须使用 22 以外的其他 ssh 端口

      rsync -avzh -e 'ssh -p sshPort' /my/local/dir/ remoteUser@host:/path/to/remote/dir
      

      如果您的远程服务器使用默认的 22 端口,这将有效

      rsync -avzh /my/local/dir/ remoteUser@host:/path/to/remote/dir 
      

      这对我有用。 关注this link详细了解。

      【讨论】:

        【解决方案5】:

        我们可以通过使用 scp 命令来做到这一点,例如:

         scp -r /path/to/local/machine/directory user@remotehost(server IP Address):/path/to/sever/directory
        

        不同端口的情况

        默认情况下,SCP 协议在端口 22 上运行,但可以通过提供 -P 标志,后跟端口号来覆盖,例如:

        scp  -P 8563 -r /path/to/local/machine/directory user@remotehost(server IP Address):/path/to/sever/directory
        

        注意:我们使用 -r 标志递归地复制目录的文件/文件夹,而不是单个文件。

        【讨论】:

          猜你喜欢
          • 2016-09-27
          • 2021-03-08
          • 2018-02-15
          • 2018-08-19
          • 2019-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多