linux多服务器之间的目录文件同步

发布于:2021-11-27 22:47:33

web1:10.80.11.243


web2:10.80.11.244


code:10.80.11.245


更新code服务器的代码后,自动同步到web1和web2,删除code服务器文件,web1和web2也删除




服务器端的安装(N台WEB都这样配置)


1、首先要求Linux内核在2.6以上,才支持
inotify


[root@web1 html]# uname -a


Linux web1 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux


2、检查是否安装rsync软件


[root@web1 html]# rpm -qa |grep rsync


rsync-2.6.8-3.1


如果没有的话,通过yum ?y install rsync安装


3、新建rsync配置文件,该软件安装默认没有配置文件


#vim /etc/rsyncd.conf




motd file = /etc/rsyncd.motd


uid=root


gid=root


max connections=36000


use chroot=no


log file=/var/log/rsyncd.log


log format =??%t %a %m %f %b


pid file=/var/run/rsyncd.pid


lock file=/var/run/rsyncd.lock


timeout = 300


?


?


[tongbu]


path=/var/www/html


list=yes


comment = this is comment


ignore errors = yes


read only = no


hosts allow =?10.80.11.245


hosts deny = *


auth users?backup


secrets file = /etc/rsyncd.secrets


注:tongbu为发布模块,相当于路径的别名


hosts allow是只允许连接的IP


secrets file = /etc/rsyncd.secrets


这是密码文件,同步的用户为backup,下面创建同步用户


#useradd backup


#passwd backup


#vim /etc/rsyncd.secrets


backup:123456


格式为


用户名:密码


#chmod 600 /etc/rsyncd.secrets


设置只有root用户才能查看这个文件


4、启动服务


/usr/bin/rsync --daemon --config=/etc/rsyncd.conf


其他的WEB服务器配置和上面是一样的。如果需要开机启动,加入到/etc/rc.local











发布端的配置


1、发布端主要利用开源软件sersync,网站为:http://code.google.com/p/sersync/


#cd /usr/local/


#wget?http://sersync.googlecode.com/files/sersync2.5RC1_32bit_binary.tar.gz


#tar ?zxvf sersync2.5RC1_32bit_binary.tar.gz


#cd GNU-Linux-x86


2、修改配置文件


#vim confxml.xml








????


????


?????????


?????????


????



????


?????????


?????????


????



????


????


?????????


?????????????


?????????????


?????????



?????????


?????????????


?????????????


?????????????


?????????????


?????????



?????????


?????????


?????????????


???????????????????


???????????????????


?????????????



?????????



?????????


????



?


????


?????????????????


?????????


?????????????


?????????????


?????????



????



???


????


?????????


?????????????


?????????



????



????


?????????


?????????????


?????????????


?????????????


?????????



????



?





/var/www/html为发布服务器的源码发布目录


主要修改红色标记部分,密码文件为/etc/rsync.pas


#vim /etc/rsync.pas


123456#


解释:123456代表的是Rsync server端的密码,并且要以"#"做结尾。如果有多个密码,增加多行就行。


#chmod 600 /etc/rsync.pas


3、启动服务


#
./sersync2 -d ?r


这种方式常驻进程,如果需要开机启动,加入到
/etc/rc.local






这样只要修改发布服务器/var/www/html的文件,web服务器就会自动同步。










**********************************************************************************************************



附录二:rsyncd.onf文件注释


全局参数


uid = root//运行RSYNC守护进程的用户


gid = root//运行RSYNC守护进程的组


use chroot = no //不使用chroot


max connections = 4 //?最大连接数为4


strict modes =yes//是否检查口令文件的权限


port = 873//默认端口873


?


模块参数


[backup] //这里是认证的模块名,在client端需要指定


path = /home/backup///需要做镜像的目录,不可缺少!


comment = This is a test //这个模块的注释信息


ignore errors//可以忽略一些无关的IO错误


read only = yes//?只读


list = no //不允许列文件


auth users = hening //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关


secrets file = /etc/rsync.pas //密码和用户名对比表,密码文件自己生成


hosts allow = 192.168.1.1,?10.10.10?.10//允许主机


hosts deny =?0.0.0?.0/0 //禁止主机


#transfer logging = yes


?


注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件


pid file = /var/run/rsyncd.pid//pid文件的存放位置


lock file = /var/run/rsync.lock //锁文件的存放位置


log file = /var/log/rsyncd.log//日志记录文件的存放位置?







相关推荐

最新更新

猜你喜欢