多CentOS PHP项目服务器的昨日文件备份与用户权限同步方案咨询
CentOS PHP项目服务器的昨日文件备份与用户权限同步方案咨询
我现在碰到这么个需求:手里有好几台跑PHP项目的CentOS服务器,要搭建一套(或者多套)备份服务器,用来存储所有源服务器上所有项目昨日未压缩版本的文件,同时还要同步用户列表,让用户能像在源服务器上一样访问对应的文件夹。看起来好像不难,但实际琢磨方案的时候碰到不少问题,先说说我自己想到的几个思路,以及各自的坑:
方案一:单台统一备份服务器
每天夜里用rsync把每台源服务器的项目文件、用户组、用户都同步到这台备份服务器上。但这里有个核心问题:用户的UID(用户ID)大概率会冲突,得在备份服务器上重新分配UID,还要批量修改文件的属主。而且我不确定rsync遇到属主不一致的情况会不会每次都全量传输文件——要是真这样的话,这个方案完全不可行,太耗带宽和存储资源了。
方案二:按源服务器数量配备份服务器
给每台源服务器单独配一台备份服务器,同样用rsync每天同步项目文件、用户组和用户。这样文件上的用户/组UID是完全匹配的,不用修改属主,但新问题又来了:得手动把备份存储分区拆成好几个小分区,分别挂载到不同的备份服务器上,以后还要手动调整分区大小。而且我真不想增加备份服务器的数量,运维成本会高很多。
方案三:用SVN/Git来做备份
给每个项目单独建一个代码仓库,这样还能顺带保存所有修改历史。但这个方案也有不少硬伤:首先用户同步的问题根本没解决,其次客户端项目里可能已经存在.git/.svn目录了,再建的话肯定会出现冲突,没法正常同步。
有没有大佬遇到过类似的需求?或者有没有什么开源工具能直接实现这些功能的?感谢各位指点!
备注:内容来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

