【问题标题】:simultaneously update hundreds of sites on the same server同时更新同一台服务器上的数百个站点
【发布时间】:2010-12-02 10:17:31
【问题描述】:

我正在使用 Hostgator 专用服务器,其中有数百个站点具有相似的文件结构和每个站点共有的 .php 文件。

我希望能够只在一个站点(“模型”站点)上工作,然后在所有其他站点上同步这些更改。我愿意自动或半手动(运行脚本或命令)发生这种情况。一个要求是,由于一些站点不同,因此需要将它们排除在此同步之外。实现这一目标的一些技术?这是我目前想到的......

  • RSync : rsync 能做到这一点吗?一世 没用过但听说是 非常适合将文件从一个服务器位置复制到另一个位置。

  • SSH:我不太舒服 使用 shell 命令,但我可以 想象这绝对是 制作这些的“适当”地方 种变化。 (不知道如何 循环并进行更改 除了少数不同的目录)

  • PHP : 如果可能的话,我很想成为 能够用 PHP 做到这一点,除了我的服务器使用 SuPHP 来保证安全性,我无法真正绕过它所需的权限。不过,我也许可以切换到 fcgi...(也对此提出建议)

我的文件结构如下:

/家/模型/ /home/site1/ /home/site2/ /home/site3/ /主页/异常/ /home/site5/ /home/site6/ /家/异常/

【问题讨论】:

    标签: php permissions synchronization ssh


    【解决方案1】:

    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 对目录模型的更改,
    并且更改将立即应用于站点 1、站点 2、站点 3
    (因为所有目录都是模型的符号链接)

    至于site5、site6,既然有区别,scp更适合鞋子。

    【讨论】:

    • 啊非常酷的方法@ajreal。符号链接的问题在于这些站点并不完全相同,它们都具有相同的结构,但是许多文件是唯一的。我真正想要的是一种向每个站点添加目录或轻松更新所有站点中的一些文件的方法。现在研究 scp。
    • +1 符号链接绝对是比实际同步文件更好的选择。
    • @Ish Kumar 也许我误解了符号链接,但如果我有整个/site1//site2/ 目录符号链接到/model/,我将如何在这些符号链接目录中存储唯一文件?另一方面,如果我只对公共文件和目录进行符号链接,我将如何为每个站点添加一个目录?谢谢
    • @filip,您应该软链接 site1/common/ -> model/common 并将 site1/unique_files 保留为物理文件。因此,将来如果您需要更新公共文件,只需编辑 model/common
    • 感谢@Ish Kumar,这是有道理的,但目前可能难以实施。好奇是否有人有其他建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多