linux 文件双向同步,Linux文件双向实时同步rsync

bc3f9276acf88283a0569b9b9ef9ee92.png

在线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以开机自启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值