我有一个本地(在办公室) web服务器,作为我的网站的测试平台。另外,它作为SVN服务器来管理我的网站代码。
此外,还有一个远程web服务器,我的实际网站是托管在那里。我需要一种方法,在本地服务器中设置程序或机制,以便将远程服务器与本地服务器的文件系统同步。
当本地服务器的文件被更改时,可以通过自动方法启动这个文件同步,或者我可以手动启动同步。
因此,作为一个普通的linux用户,我想知道可以遵循什么样的机制来实现这一点,或者实际上,我在这类需求中做的是正确的事情吗?
发布于 2014-04-04 10:37:58
我可能选择了一种手动的传输方法,但是有很多方法来实现它。最简单和非常安全的方法之一是在ssh上使用rsync。您不仅将使用加密连接,而且rsync (在第一次同步之后)将只传输您所做的更改。
基本语法是
rsync -<options> -e ssh /local/files user@remote.host.name:/remote/files
您还可以添加大量其他选项,使用ssh键来避免密码(然后可以编写脚本)以进行示例,还有许多有趣的选项可以与rsync同步。
发布于 2014-04-04 12:08:40
对于基于rsync的自动同步解决方案,我将使用合唱。它监视本地文件系统上的更改,并在远程站点上自动更改相同的内容。
您还可以扩展它,以便在文件更改时对其执行其他操作。
https://serverfault.com/questions/586658
复制相似问题