复制不同的文件

wil*_*fun 0 linux

我有一个带有 2 个目录的服务器:1 个是开发站点,另一个是实时站点。

我想在开发站点上工作,并使用一个简单的命令简单地移动并覆盖实时站点上已更新的任何文件。

我知道有 git,我对此有一些了解,但我想知道是否有更直接的路线。

有什么建议?是否有 linux 命令来比较 2 个目录并将新文件从一个目录复制到另一个目录,同时以递归方式维护目录等?

谢谢。

Mad*_*ter 6

基本上,rsync是您的工具,前提是您可以找到一个渠道来运行它。

假设我可以从 devbox ssh 到 prodbox,我可能会按照您的建议同步站点目录

devbox% rsync -avl -e ssh /opt/site/ prodbox:/opt/site/
Run Code Online (Sandbox Code Playgroud)

rsync有许多您可能想要使用的其他标志,用于删除源上不存在的目标文件、复制条件等;查看手册页了解详细信息。

编辑:根据你的评论(公平地说,我认为你确实解释了它,我只是没能理解它),这让生活变得更加轻松。尝试

box% rsync -avl /home/sites/devfolder/ /home/sites/livefolder/
Run Code Online (Sandbox Code Playgroud)