2010-12-02 57 views
1

我正在使用Hostgator专用服务器,其中有数百个站点在文件结构和每个站点通用的.php文件具有相似性。同时更新数百个站点在同一台服务器上

我希望能够工作在一个站点(“模范”的网站),然后同步跨所有其他网站的变化。我愿意自动或半手动(运行脚本或命令)。一个要求是,由于少数站点不同,它们需要从此同步中排除。实现这一目标的一些技巧是什么?这是我到目前为止想到的...

  • RSync:rsync是否可以这样做?我 从来没有使用过它,但听说它是 伟大的复制文件从一个服务器位置到另一个。

  • SSH:我不是超级舒适 与shell命令的工作,但我能想象 这绝对是 “正确”的地方是使这些 种变化。 (不知道如何 循环,使尽管所有 目录的变化,只是您不同的少数)

  • PHP:如果可能的话我很高兴能够成为 能够用PHP来做到这一点,除了我的服务器使用SuPHP安全我无法真正解决它所需的权限。我或许可以切换到FCGI虽然...(开放的建议,这也)

我的文件结构如下:

 
    /home/model/ 
    /home/site1/ 
    /home/site2/ 
    /home/site3/ 
    /home/exception/ 
    /home/site5/ 
    /home/site6/ 
    /home/exception/ 

回答

3

击命令都比较适合,而且往往是更容易,
这种结合了加rysnc符号链接ln

在简单地说,

ln -s /home/model/ /home/site1 
ln -s /home/model/ /home/site2 
ln -s /home/model/ /home/site3 

那么,它会将site1,site2,site3软链接到model

什么是符号链接?
http://en.wikipedia.org/wiki/Symbolic_link

在此之后,你只需要rsync的您更改目录模式,
和变化将立即应用到站点1,站点2,site3
(因为所有的目录是符号链接模型)

至于site5,site6,因为是差异,scp更适合鞋子。

+0

啊很酷的方法@ajreal。虽然符号链接的问题是网站不完全相同,但它们都具有相同的结构,但是许多文件都是唯一的。我真正想要的是一种将目录添加到每个站点或轻松更新所有站点中的几个文件的方法。现在看看scp。 – filip 2010-12-02 11:22:12

相关问题