同时更新同一台服务器上的数百个站点

时间:2010-12-02 10:17:32

标签: php permissions synchronization ssh

我正在开发一个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/

1 个答案:

答案 0 :(得分:3)

Bash命令更合适,更容易使用 这样就结合了rysnc加上符号链接ln

简而言之,

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

因此,它会将site1,site2,site3软链接到模型

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

之后,您只需要 rsync 对目录模型的更改,
并且更改将立即应用于site1,site2,site3
(因为所有目录都是模型的符号链接)

至于site5,site6,因为不同,scp更适合鞋子。