如何在我的环境中设置 rsync(Windows 客户端到安装了 Wordpress 的 Apache 服务器)

如何在我的环境中设置 rsync(Windows 客户端到安装了 Wordpress 的 Apache 服务器)

我读了这个词

同步

今天第一次在 sueperuser 上寻找仅传输已更改文件的解决方案。

我正在这个环境下开发一个网站:

  • 使用 xampp 运行的本地网站(使用 Git 和远程 repo 进行跟踪以进行合作)
  • 在 Apache 服务器上暂存网站(无可用的 git)
  • 同一 A. 服务器上的实时网站(无 git)

我只是在弄清楚我的工作流程,它是这样的:

  1. 从远程仓库拉取
  2. 本地进行更改
  3. 上传至临时服务器
  4. 上传至直播服务器
  5. 推送至远程存储库

现在的问题是,如果我传输整个 wordpress 安装,下载和上传文件将需要花费大量时间。

由于没有可用的 GIT,rsync 是正确的选择吗?我有 SSH 访问权限,但真的不知道自己在做什么。有人可以提示如何设置吗?我几天前安装了 PuTTY,这有帮助吗?

答案1

Rsync 绝对可以解决您的问题。如果您使用 运行 rsync,-e "ssh <ssh params>"那么它将通过 ssh 连接运行,而 rsync 的底层功能是(在本地)生成文件列表和列表中每个文件的增量,然后将其与远程生成的列表进行比较,然后发送文件。这意味着即使在快速连接下,启动时也可能很慢,但一旦开始,速度就会很快。

我相信有 rsync 和 ssh 的 Windows CLI 版本,如果没有,您可能想尝试使用 bash/rsync/ssh 安装 cygwin。如果您不需要太多东西,安装过程并不复杂。rsync 的诀窍是获得所需的正确选项。

因此,在您的示例中,您有stagingserver.localremoteserver.local。假设您以用户 的身份访问 remoteserver releaseuser。首先确保您可以[email protected]使用 putty 进行 ssh 连接(我建议您在 remoteserver.local 上设置 ~releaseuser/.ssh/authorized_keys ,以允许您使用本地 ssh 密钥的公共版本以 releaseuser 身份登录,您可以通过在 putty-keygen 中创建私钥并将 openssh 私钥/公钥保存为和localkey.pub来进行设置,然后将公钥上传到)。 localkeylocalkey.pubremoteserver.local

好的,要将本地目录 rsynclocaldirectory到远程remotedirectory,请使用上面的方法:-

rsync -rave "ssh -i localkey" localdirectory/ [email protected]:/remotedirectory/

每个目录名称后面的斜杠告诉它将内容复制localdirectory到目录remotedirectory而不是复制目录本身。如果你漏掉了斜杠,你将remotedirectory/localdirectory在远程服务器上创建

因此,稍微解释一下我使用的选项-rave(我总是觉得它们很容易记住)。 表示-r递归,因此进入目录。-a表示存档,与 相同-rlptgoD,表示基本上发送所有内容(链接、权限、时间、组、所有者、设备,但不是硬链接、acls 或 xattrs)。 -v表示详细,因此 echo 以显示它正在发送的内容,并且 -e 指定命令rsh(在我们的例子中ssh -i,它告诉 ssh 要使用哪个密钥文件)。

希望有帮助

相关内容