我正在开发一个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/
答案 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更适合鞋子。