现在我有2台服务器(称为A机与B机)都配置了互指的lsync来同步代码,他们相互监视同步,一方文件改变就可以把改变的同步到对方,但是碰到一台有大目录替换时(比如版本更新时整个项目的代码)就碰到问题了:
在我的想象中正常流程是我先删掉A机的老项目代码,然后把新代码放上去,最后等到B同步了A的代码。
然而现实是我把A机老项目代码删掉B还没有完全删掉时,我把新代码放A上后,由于B还在删代码,它会把删代码的操作也同步到A,导致A的新代码也会随机被删掉。
我应该怎么办?
现在我有2台服务器(称为A机与B机)都配置了互指的lsync来同步代码,他们相互监视同步,一方文件改变就可以把改变的同步到对方,但是碰到一台有大目录替换时(比如版本更新时整个项目的代码)就碰到问题了:
在我的想象中正常流程是我先删掉A机的老项目代码,然后把新代码放上去,最后等到B同步了A的代码。
然而现实是我把A机老项目代码删掉B还没有完全删掉时,我把新代码放A上后,由于B还在删代码,它会把删代码的操作也同步到A,导致A的新代码也会随机被删掉。
我应该怎么办?
4 回答968 阅读
2 回答752 阅读✓ 已解决
2 回答713 阅读✓ 已解决
1 回答730 阅读✓ 已解决
1 回答643 阅读✓ 已解决
3 回答784 阅读
2 回答721 阅读
之前服务器少的时候,我们项目也用rsync来同步代码,几台服务器完全满足需求,但是没有用到你所说的 互相监视同步。
现在有6台web服务器,用ansible + rsync完成代码发布,发布流程是:
git发布到内网开发服务器->rsync发布到外网测试服务器->ansible+rsync发布到其他web服务器。