【问题标题】:Copy website from server to local in terminal将网站从服务器复制到终端本地
【发布时间】:2014-02-26 11:12:34
【问题描述】:

我查看了 google 和 here on stack,但找不到一个很好的例子来说明如何做到这一点。

我基本上想要做的只是 SSH 到服务器 复制 所有站点文件并将它们 粘贴 到我计算机上的文件夹中?

我通常使用 git,但这是一个尚未使用 git 设置的旧站点,所以我只想知道一种快速从服务器复制的方法,因为 FTP 很糟糕!

带有终端命令的简单过程会很棒!

【问题讨论】:

  • FTP 代表 文件传输协议,所以没有理由说它不适合文件传输。顺便说一句,SCP 只是另一种协议,而不是可以做魔术并且只需要一行来复制文件的超级工具:scp ...(用于 scp)和mget ... 用于 ftp
  • @vladkras 我的意思是 GUI FTP 似乎总是比通过命令行慢很多。感谢您提供指向 SCP 的链接 :)
  • 不客气,是的,区别仅在于安全传输,但您的图像和 css 文件真的需要它吗?如果你已经通过 ssh 登录,它会快一点

标签: macos ssh terminal copy paste


【解决方案1】:

查看rsync。它具有通过 ssh 运行的能力。在复制文件时,您可能还想查看 ssh 别名(它也支持),这是 git 用来仅同步两个存储库之间差异的方法。

rsync 优于 SCP 或 SFTP 的优点是它可以在中断时恢复下载,同步所需的带宽很少,因为它发送更改集而不是整个文件(除非文件在一侧尚不存在),并且可以根据您的喜好进行单向或双向同步。

【讨论】:

  • 我看到了一个使用 curlftpfs 在用户文件夹上挂载 FTP 站点的解决方案。如果成功,sync 也应该在本地运行。以防有人被困在 FTP 上。
【解决方案2】:
ssh USER@SERVER "tar zcvf - /DUMP_DIR" | cat > /OUT_DIR/FILE_NAME_OF_ARCH

(rsync -avz --delete /DUMP_DIR USER@SERVER:/OUT_DIR &)

【讨论】:

  • 完美,正是我想要的。
【解决方案3】:

看看SCP。

scp username@remotehost.com:/directoryname/* /some/local/directory

【讨论】:

  • 我试过 - scp username@ip:/httpdocs/* /sitecopy/ 但是我得到了 scp: /httpdocs/*: No such file or directory ?
  • /httpdocs 表示它位于文件系统的根目录下。我相信你需要给你的主目录,然后是 httpdocs。要获取绝对目录位置,您可以使用 httpdocs 文件夹中的“pwd”代替目录名。
  • 谢谢@AkhileshSingh,我现在的权限被拒绝了。我需要以root身份运行它吗?我以前使用的是帐户详细信息而不是 root。
  • 你需要使用 root 但服务器的用户名。很可能您使用的是本地系统的用户名,而不是服务器。
【解决方案4】:

使用 scp

scp -P 2222 json-serde-1.1.8-SNAPSHOT-jar-with-dependencies.jar root@127.0.0.1:

例如。

希望对您有所帮助!

【讨论】:

  • 你怎么知道这个例子的端口是 2222 ;)
  • 对不起,我在 2222 上设置了我的服务器,它只是我的实例。 SCP 默认通过 TCP 端口 22 运行。
猜你喜欢
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 2017-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多