gitlab主备实时同步
来源:互联网 发布:淘宝正品韩妆店铺推荐 编辑:程序博客网 时间:2024/06/06 00:15
主:10.10.10.75
备:10.10.10.16
方案思路:mysql主从同步+gitlab文件目录同步(inotify+rsync)
一,配置mysql主从同步(mysql版本:5.5.43)
修改75的mysql配置文件
vim /etc/mysql/my.cnf
server-id=1
binlog_do-db=gitlab库
重启mysql
修改16备机的mysql配置文件
vim /etc/mysql/my.cnf
server-id=2
replicate-do-db = gitlab库
重启mysql
主从同步已配置完毕,自己可以测试下。
二,配置文件同步
需要同步以下俩文件
/home/git/gitlab-satellites
/home/git/repositories
1,在75主服务器安装inotify实时监控文件变化情况
tar -xf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/data/inotify
make;make install
使用Inotify时,要特别注意内核中关于它的两个配置。首先/proc/sys/fs/inotify/max_user_instances 规定了每个用户所能创建的Inotify实例的上限;其次/proc/sys/fs/inotify/max_user_watches规定了每个Inotify实例最多能关联几个监控(watch)。我们要设置一个较大的值(只需echo即可)
echo 9999999 > /proc/sys/fs/inotify/max_user_watches
2,在16备机安装rsync服务。75也需要装rsync客户端,linux大多数都默认安装了rsync客户端。
tar -xf rsync-3.1.1.tar.gz
cd rsync-3.1.1
./configure --prefix=/data/rsync
make;make install
在/etc下面新建一个rsync配置文件,同时建一个rsync用户认证文件。
touch /etc/rsyncd.conf
touch /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.conf
chmod 600 /etc/rsyncd.secrets
增加配置内容
vim /ect/rsyncd.conf
vim /etc/rsyncd.secrets
设置rsync账号和密码(git:123456)
启动rsync服务
/data/rsync/bin/rsync --daemon
3,在主75编写同步脚本,将自动把更新的目录文件同步到备机16服务器上面。
在75要建一个rsync密码认证文件(只存放密码),以保证免密码传输:
touchu /etc/git_rsync
chmod 600 /etc/git_rsync
vim /etc/git_rsync
添加密码123456
接下来编写同步脚本了
vim /home/mengruiwen/script/repositories.sh
#!/bin/bash
set -x
/data/tools/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,move,attrib /home/git/repositories | while read files
do
rsync -rlptgoD --password-file=/etc/git_rsync /home/git/repositories git@10.10.10.16::repositories
done
将主75 /home/git/repositories自动同步到备机16 /home/git/repositories
当然/home/git/gitlab-satellites目录也需要做同步(脚本跟repositories的一样,就省略不写了)
将同步脚本加到定时任务里
接下来我们运行脚本,可以测试下。
接下来登陆gitlab看看代码同步信息。
主75的信息:
备16的信息:
主备信息一致,代码也一致。
至此,我们的gitlab主从实时同步已顺利完成。
- gitlab主备实时同步
- TortoiseGit 同步 gitlab git
- rsync数据同步gitlab
- Mysql的实时同步 - 双机互备
- Mysql的实时同步 - 双机互备
- Mysql的实时同步 - 双机互备.
- 双机热备(实时数据同步)
- Mysql的实时同步 - 双机互备
- mysql的实时同步-双机互备
- 搭建实时同步data guard的最高可用-切换主备
- oracle 搭建实时同步data guard的最高可用-切换主备
- EditText输入实时同步
- rsync inotify 实时同步
- rsync+inotify实时同步
- rsync+ inotify实时同步
- Unity3D客户端实时同步
- linux文件实时同步
- Rsync+Inotify实时同步
- POJ--Kaka's Matrix Travels【最大费用最大流 && 经典建图 && 好题】
- python爬网页乱码
- 专访阿里钉钉“么么茶”:我们为什么低调
- 中文处理
- 查找本地文件实例
- gitlab主备实时同步
- 野人学Android基础篇之初探UI控件第四课--CheckBox
- 地图索引 R-tree
- 关于权限对象field的解释
- Android中颜色
- 叶存菜鸟之Factory反射实现机制笔记
- 拿什么与钉钉竞争?工作圈3.0老鱼试用手记
- iOS -- CALayer
- import org.cocos2dx.lib cannot be resolved 解决方法