在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
echo”/usr/sersync/sersync2-d-o/usr/sersync/confxml.xml”>>/etc/rc.local
原文地点:Linux文件双向实时同步rsync+inotify和rsync+sersync
Linux文件双向实时同步有很多种解决办法:现介绍两种rsync+inotifi和rsync+sersync
一、先安装rsync服务器端 和 用户端)
1先搜查系统中是否有默认的装配包
#rpm-qa|greprsync
最好删除,2如果有。装配最新版
#rpm-e–nodeps..
3下载最新的rsync包
http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.i686.rpm遵照系统配置决定下载)
4装配下载的rpm
#rpm-ivhrsync-3.0.9-2.el6.rfx.i686.rpm
5装配成功后
/etc/xinetd.d/rsync将disable=y改为 no
6设置装备摆设rsync自启动
#chkconfigrsyncon
查抄自启动是否成功
#chkconfigrsync–list
就新建文件)7设置装备摆设/etc/rsyncd.conf如果没有该文件。
uid=root#庇护过程的用户权限
gid=root
默许87port=873#rsync利用的端口。3
address=192.168.1.100#本机的ip地点
usechroot=yes
ye只读readonly=no#no用户端可上传文件.
ye不能下载writeonly=no#no用户端可下载文件.
#list=yes#否供给本钱列表
hostallow=192.168.1.101#本模块允许经由过程的IP地点
hostdeny=*#禁止主机IP
maxconnections=5#用户端最大连接数目
motdfile=/etc/rsyncd.motd
pidfile=/var/run/rsyncd.pid#历程号存放位置
logfile=/var/log/rsyncd.log#日志地位
lockfile=/var/run/rsync.lock#锁文件存放地位
transferlogging=yes
logformat=%t%a%m%f%b
syslogfacility=local3
timeout=300
[test1]#要同步的模块名
path=/backup#要同步的目次
list=yes
ignorerrors
没有默认为匿名。authusers=root#登陆系统利用的用户名。
secretfile=/etc/rsyncd.secret#密码文件寄放的地位
最后模块名一直comment=linuxsirtmp#这个名名称无所谓。
8配置密码文件
密码文件为配置文件中所写的文件/etc/rsyncd.secret格式为账户:明码
9改削配置文件和密码文件权限为600
#chmod600/etc/rsyncd.conf
#chmod600/etc/rsync.pass
10策动庇护过程
rsync–daemon–config=/etc/rsyncd.conf
11查抄rsync否启动
#lsof-i:873或
#netstat-an|grep873
二、用户端配置
1.1设定密码文件
1.2测试rsync执行指令
1.3将rsync指令放入工作排程(crontab
#vi/etc/xinetd.d/rsync
/etc/xinetd.d/rsync将disable=y改为 no
设定密码档案的属性为:600rsync.p密码必定要和RsyncServer密码设定案里的密码一样)1.1配置密码文件 注:为了保险。
#virsyncd.secrets
111111
#chownroot.root/etc/rsyncd.secret#重视必须给权限
#chmod600/etc/rsyncd.secret#必须改削权限
1.2从服务器凹凸载文件
#rsync-avz–password-file=/etc/rsyncd.secret/backup
从本地上传到服务器上去
#rsync-avz–password-file=/etc/rsyncd.secret/backup/
不带密码从服务器凹凸载文件
/usr/bin/rsync-vzrtopg–progress–delet/backup
rsyncd.secret只保存密码,注:如果还密码上传或下载。此配置是每次失掉增量值,不能实时监控
三、inotifi装置
必要断定你体系是否支持inotifi能输出这样的功效表示撑持1起首在服务端安装。
#ll/proc/sys/fs/inotify
显现:
total0
-rw-r–r–1rootroot0Jan417:56max_queued_events
-rw-r–r–1rootroot0Jan417:56max_user_instances
-rw-r–r–1rootroot0Jan417:56max_user_watches
2下载并安装inotify-tools
解压inotify
#tarzxvfinotify-tools-3.14
进入到该目录下执行
#https://blog.51cto.com/11935263/configur–prefix=/usr/local/inotify
#make
#makeinstall
3利用inotifi必需在用户端安装好rsync
4设置装备摆设inotifi服务端)
文件名、位置随意,新建文件 rsync.sh并授予执行权限。内容信息以下
#!/bin/bash
#同步接收方ip
client=192.168.1.101
src=https://blog.51cto.com/backup/
#同步接收方配置的rsync模块名
dest=test1
#同步接收方鉴权时的用户
user=root
delete,/usr/local/inotify/bin/inotifywait-mrq–timefmt\’%d/%m/%y%H:%M\’–format\’%T%w%f%e\’-emodify.create,move,attrib$src|whilereadfiles
do
/usr/bin/rsync-vzrtopgq–delet–progress–password-file=/wangyi/inotify/rsyncpasswd$src
done
授执行权限
#chmod+x/wangyi/inotify/rsync.sh
内容信息为客户端中rsyncd.secret中用户对应的对应密码即1111并赋予600权限5/wangyi/inotify/目录下新建rsyncpasswd文件。
#chmod600/wangyi/inotify/rsyncpasswd
6最后运转rsync.sh就可以了
如果插手到开机策动项,注:inotifi配置开机后执行该文件就行。能成功执行,但不能履行系统桌面了
可以或许设置别一端就是双向同步了注:此是单向同步。
四、sersync装置
如许在主服务器产生的文件,1须要在同步主服务器上配置sersync同步目标服务器配置rsync并在目标服务器开启rsync期待过程。就会被sersync实时同步到多个目标服务器
2下载文件sersync2.5_32bit_binary_stable_final.tar.gz下载地点:http://code.google.com/p/sersync/建议下载最新版
解压tar-zxvfsersyncXxxx_xxbit_binary.tar.gz
3进入该文件夹cdGNU-Linux-x86/
改削设置装备摆设viconfxml.xml
3.1改削以下部门:
同步到短途服务器 192.168.1.101与 192.168.1.102上的test1模块剖明要将主服务器上本地的/backup道路下的文件。
3.2设置日志文件地位
密码文件明码是3.3//密码文件 root用户端的用户。
对于同步功能没有任何感化,3.4//hostip与port针对插件的保留字段。保留默认便可。
会默认过滤体系的权且文件(以”.开首,3.5//filt文件过滤功能关于sersync监控的文件。以”开头)除了这些文件外,可以或许自定义其他必要过滤的文件。
填写正则表达式,将start设置为 trueexclud标签中。默认给出两个例子分别是过滤以”.gz”开头的文件与过滤监控目录下的info门路(监控门路/info/*可以或许遵照必要增添,但开启的时辰,自己测试一下,正则表达式如果出现过错,控制台会有提示。对比较使用rsyncexclud功效,被过滤的门路,不会加入监控,大大削减rsync通讯量
3.6inotifi监控参数设定(优化)
遵照您项目的特点优化srsync关于inotifi监控参数可以或许履行设置。
可以或许尝试把createFil监控文件事件选项)设置为fals来提高性能,对于大多数应用。削减 rsync通信。因为拷贝文件到监控目录会产生creat事件与close_writ事务,所以如果封闭creat事务,只监控文件拷贝结束时的事务close_writ异常可以或许实现文件完整同步。注重:强将createFold贯穿连接为 true如果将createFold设为fals则不会对产生的目录履行监控,该目录下的子文件与子目录也不会被监控。所以除非不凡须要,请开启。默认情况下对创建文件(目次)事件与删除文件(目次)事件都进行监控,如果项目中不必要删除短途目标服务器的文件(目次)则可以将delet参数设置为fals则不对删除事件履行监控。
3.7Debug封闭
会在sersync正在运转的控制台,设置为true封闭debug形式。打印inotifi事件与rsync同步饬令
3.8XFS文件体系
必要将这个选项封闭,关于xf文件体系的用户。才能使sersync正常任务
3.9文件监控与短途同步设置
–>
–>
Rsync参数设置装备摆设
默许是-artucommonParam可以或许用户自定义rsync参数。z
利用rsync认证情势传递,authstart=”false”设置为true时辰。必要设置装备摆设user与passwrodfil–password-file=/etc/rsync.pa来使用。userDefinedPort当短途同步目标服务器的rsync端口不是默认端口的时刻利用 –port=874timeout设置rsynctimeout时候(–timeout=100ssh利用rsyncessh方式履行传输
3.10失败日志脚步设置装备摆设
会履行重新传递,3.11对于失利的传输。再次失败就会写入rsync_fail_log尔后每隔一段时间(timeToExecut履行设置)执行该脚本再次重新传递,尔后清空该脚本。可以或许经由过程path来设置日志门路
Crontab定期全部同步功效
可以或许由于一些原由两次失败重传都失败了这个时刻如果封闭了crontab功效,crontab可以或许对监控道路与短途目标主机每隔一段时辰履行一次整体同步。还可以或许进一步保证各个服务器文件一致,如果文件量比较大,crontab时辰间隔要设的大一些,否则可以或许增加通讯开支。schedul这个参数是设置 crontab时辰距离,默许是600分钟
那末crontab全部同步也必要设置过滤,如果封闭了filter文件过滤功效。否则当然实时同步的时刻文件被过滤了但crontab全部同步的时刻如果不光独设置crontabfilt还会将需过滤的文件同步到长途,crontab过滤正则与filter过滤的分歧,也给出了两个实例分袂对应与过滤文件与目录。总之如果同时封闭了filter与crontab则要开启crontabcrontabfilt并按示例设置使其与 filter过滤逐个对应。
插件设置
将文件同步到短途服务器后会调用name参数指定的插件当设置为true时辰。
4关闭实时监控的之前对主服务器目录与短途目标机目录履行一次整体同步
https://blog.51cto.com/11935263/sersync-r
已经存在所有文件或目录全部同步到长途,如果必要将sersync运行前。要以-r参数运转sersync将本地与短途全部同步一次。
即在xml文件中,如果设置了过滤器。filter为true则姑且不能利用-r参数履行全部同步。-r参数将会无效
关闭实时同步5主服务器上开启sersync庇护过程,使sersync后援运转。
https://blog.51cto.com/11935263/sersync-d
查抄长途是否同步成功能够在本地监控道路下建立文件。
6查抄策动参数帮忙
https://blog.51cto.com/11935263/sersync–help
7指定配置文件
可以或许利用-o参数指定其它配置文件https://blog.51cto.com/11935263/sersync-oXXXX.xml关于sersync操纵可执行文件目录下的默认配置文件confxml.xml如果必要操纵另一个配置文件。
8指定默许的线程池的线程总数
https://blog.51cto.com/11935263/sersync-nnum
默认策动线程池数量是10若是cpu操纵过高,比方 https://blog.51cto.com/11935263/sersync-n5则指定线程总数为5如果不指定。可以或许通过这个参数调低,如果机器配置较高,可以或许用-n跳高线程总数
只运行插件9不进行同步。
https://blog.51cto.com/11935263/sersync-mpluginName
不对短途目标服务器进行同步,比方https://blog.51cto.com/11935263/sersync-mcommand则在监控到文件事件后。而是直接运转command插件
10多个参数可以或许配合利用
设置线程池使命线程为8个,https://blog.51cto.com/11935263/sersync-n8-oabc.xml-r-d默示。指定abc.xml作为配置文件,实时监控前作一次整体同步,以庇护历程体式格局在后援运转。
对本地到短途全部同步一遍后,11凡情况下。后援运行实时同步。
https://blog.51cto.com/11935263/sersync2-r-d
12最后必要把sersync命令插手到/etc/rc.loc以开机自启动