Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 同时更新同一服务器上的数百个站点_Php_Permissions_Synchronization_Ssh - Fatal编程技术网

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

Php 同时更新同一服务器上的数百个站点,php,permissions,synchronization,ssh,Php,Permissions,Synchronization,Ssh,我正在一个Hostgator专用服务器上工作,那里有数百个站点,每个站点的文件结构和.php文件都很相似 我希望能够在一个网站(一个“模型”网站)上工作,然后在所有其他网站上同步这些更改。我对自动或半手动(运行脚本或命令)进行同步持开放态度。一个要求是,由于几个站点不同,因此需要将它们从同步中排除。实现这一点的一些技巧是什么?以下是我到目前为止的想法 RSync:RSync能做到这一点吗?我 从未使用过,但听说过 非常适合将文件从一个服务器位置复制到另一个服务器位置 SSH:我不太舒服 使用s

我正在一个Hostgator专用服务器上工作,那里有数百个站点,每个站点的文件结构和.php文件都很相似

我希望能够在一个网站(一个“模型”网站)上工作,然后在所有其他网站上同步这些更改。我对自动或半手动(运行脚本或命令)进行同步持开放态度。一个要求是,由于几个站点不同,因此需要将它们从同步中排除。实现这一点的一些技巧是什么?以下是我到目前为止的想法

  • RSync
    :RSync能做到这一点吗?我 从未使用过,但听说过 非常适合将文件从一个服务器位置复制到另一个服务器位置

  • SSH
    :我不太舒服 使用shell命令,但我可以 想象一下,这绝对是 制作这些产品的“合适”地点 各种变化。(不知道该怎么做 循环并进行所有更改 目录(除了少数几个不同的目录)

  • PHP
    :如果可能,我愿意 除了我的服务器使用SUPPP进行安全保护之外,我可以用PHP实现这一点,而且我无法真正绕过它所需的权限。我可能会切换到fcgi虽然。。。(也欢迎对此提出建议)

我的文件结构如下:

/home/model/ /home/site1/ /home/site2/ /home/site3/ /home/exception/ /home/site5/ /home/site6/ /home/exception/ /主页/模型/ /主页/站点1/ /主页/站点2/ /主页/站点3/ /主页/例外/ /主页/站点5/ /主页/站点6/ /主页/例外/
Bash命令更合适,而且更容易,
这样就组合了
rysnc
和符号链接
ln

简言之

ln -s /home/model/ /home/site1 
ln -s /home/model/ /home/site2
ln -s /home/model/ /home/site3
所以,它将站点1、站点2、站点3软链接到模型

什么是符号链接?

之后,您只需rsync更改目录模型,
更改将立即应用于站点1、站点2、站点3
(因为所有目录都是指向模型的符号链接)


至于site5和site6,既然是不同的,那就更合脚。

ah非常酷的方法@ajreal。符号链接的问题在于,这些站点并不完全相同,它们都具有相同的结构,但许多文件是唯一的。我真正想要的是一种方法,可以为每个站点添加一个目录,或者在所有站点中轻松地更新几个文件。现在查看scp。+1符号链接肯定比实际同步文件更好。@Ish Kumar也许我误解了符号链接,但如果我有整个
/site1/
/site2/
目录符号链接到
/model/
我如何在这些符号链接目录中存储唯一的文件?另一方面,如果我只对公共文件和目录进行符号链接,那么我将如何向每个站点添加一个目录?Thanks@filip,您应该软链接site1/common/->model/common,并将site1/unique_文件保留为物理文件。所以,在将来,如果您需要更新公共文件,只需编辑model/commonThank@Ish Kumar,这是有意义的,但此时可能很难实现。好奇有没有人有其他建议