文件同步

Sersync+Rsync实现触发式文件同步

天大地大妈咪最大 提交于 2021-01-05 08:47:02
背景 通常我们在服务器上使用rsync加上crontab来定时地完成一些同步、备份文件的任务。随着业务和应用需求的不断扩大、实时性要求越来越高。一般rsync是通过校验所有文件后,进行差量同步,如果文件量十分庞大,那么rsync进行校验的过程也是十分耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时的去监测、同步数据,虽然它可以通过crontab方式进行触 发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用故障时完全的恢复数据。而Sersync+Rsync的组合能够较好地解决这种问题。 Sersync介绍 sersync是使用c++编写,而且对linux系统文 件系统产生的临时文件和重复的文件操作进行过滤(详细见附录,这个过滤脚本程序没有实现),所以在结合rsync同步的时候,节省了运行时耗和网络资源。 因此更快。 相比较上面两个项目,sersync配置起来很简单,其中bin目录下 已经有基本上静态编译的2进制文件,配合bin目录下的xml配置文件直接使用即可。 另外本项目相比较其他脚本开源项目,使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状 态。 本项目有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则 每10个小时对同步失败的文件重新同步。

cwRsync在windows环境下的配置及使用

非 Y 不嫁゛ 提交于 2019-12-09 21:05:29
关于cwRsync的作用在此不再过多描述,在整个调研过程中,网上搜索了很多的相关资料,配置过程中也出现了很多细节问题,所以在这里主要针对配置过程中需要注意的地方进行提醒,以及对关键的配置操作进行说明。 说明: 两台电脑,我这里用虚拟机(XP)模拟服务端,用本机(win7)模拟客户端。 服务端IP:192.168.137.232;本机IP:192.168.137.134。 实现目的:将服务端C:\data目录中的文件定时同步到客户端D:\data目录中去。 cwRsyncServer(服务端)配置步骤: 1. 解压cwRsyncServer_4.1.0_fuq.zip,双击cwRsyncServer_4.1.0_Installer.exe 。 2. 按照安装提示,逐步操作至创建账户的界面,如下图所示。ps:这里创建的账户是操作系统的,创建的这个账户是专门用来 运行cwRsyncServer服务端程序的。建议这里不要使用安装程序默认提供的账户名和密码,不易记忆,应该创建一个自己常用的、容易记住的账户。当然也可以使用操作系统中已经存在的账户,但这里个人感觉还是创建一个专门的针对cwRsyncServer的账户较好,在今后的管理中方便明了。我这里新建了一个“tongbu”的账户。 3.cwRsyncServer服务程序安装成功后,关闭窗口

使用rsync +cwrsync实现windows和linux的文件同步

天涯浪子 提交于 2019-12-06 08:22:04
由于项目中有需求,需要实现windows和linux的文件同步,经过项目大大的推荐,决定使用 rsync +cwrsync实现windows和linux的文件同步。 在配置和实际的使用过程中遇到了很多问题,也查阅了很多资料,用了3个多小时才弄好。于是就想要把安装过程写成博客,一方面巩固一下安装的过程,一方面希望能够帮助到在安装过程中遇到同样过程的人。 -------------------------------------------------分割线------------------------------------------------- 安装环境:CentOS 7 一.服务器端配置 1.安装rsync yum install rsync 2.配置rsync vim /etc/rsyncd.conf (如果没有此文件,请手动创建。使用 touch 或者 vim 直接编辑也是可以创建的) ################################################### #下面是我的配置文件 uid = root #模块传输文件时守护进程应该具有的uid gid = root #模块传输文件时守护进程应该具有的gid # 如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下