sersync

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个小时对同步失败的文件重新同步。

Linux三阶段之四:实时同步(inotify+rsync,sersync+rsync)

情到浓时终转凉″ 提交于 2020-11-25 07:50:35
四、实时同步 (一)课程概念介绍 为什么要用实时同步服务 因为定时任务有缺陷,一分钟以内的数据无法进行同步,容易造成数据丢失 实时同步工作原理 a .创建要存储数据的目录 b .利用实时同步的软件监控我们进行备份的数据目录 c .利用rsync服务进行数据推送传输备份 (二)实时同步服务软件部署 1.inotify+rsync实现实时同步备份 第一个里程:将inotify软件安装成功 yum install -y inotify-tools 说明:操作系统的yum源文件中,是否存在epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@nfs01 ~]# rpm -ql inotify-tools /usr/bin/inotifywait <--- 实现对数据目录信息变化监控(重点了解的命令) /usr/bin/inotifywatch <--- 监控数据信息变化,对变化的数据进行统计 [root@nfs01 ~]# cd /proc/sys/fs/inotify/ [root@nfs01 inotify]# ll 总用量 0 -rw-r--r-- 1 root root 0 2018-02-25 19:45 max_queued_events -rw-r-

跟高手学习LINUX笔记-23----网络文件复制与同步

試著忘記壹切 提交于 2020-08-18 12:48:12
第二章 网络文件复制与同步 本节课所讲内容: 2.1、网络文件复制与同步的方法 2.2、rsync+crond定时同步文件 2.3、rsync+inotify实时同步文件 2.4、rsync+sersync实时同步文件 正文部分: 2.1网络文件复制与同步的方法 2.1.1、常见备份分类 完整备份,差异备份,增量备份 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地 差量备份:备份上次完全备份以后有变化的数据 增量备份:备份上次备份以后有变化的数据 2.1.2、rsync+inotify/rsync+sersync实时同步文件区别 1)inotify只能记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来; 2)sersync可以记录被监听目录中发生变化的(增,删,改)具体某个文件或目录的名字 2.1.3、常用网络文件复制SCP简介 1)scp:基于openssl的网络文件拷贝 拷贝文件:[root@node-3 ~]# scp api.sql root@192.168.26.72:/root/ 说明: scp命令 源文件 用户@目标主机IP:目录位置 拷贝文件夹:[root@node-3 ~]# scp -r /boot/grub/ root@192.168.26.72:/root/ 说明: scp命令 参数 源文件夹 用户

Linux150个基础命令

不问归期 提交于 2020-08-10 10:34:33
1.mkdir 创建目录 * 主要选项:-p 递归创建目录 主要案列:mkdir /jingfeng mkdir -p /jingfeng/jf mkdir -p /jingfeng/jf{1,2} #创建多个目录 2.cd 切换路径 * 主要案例:cd 或 cd ~ #切换至家目录 cd - #在上一个目录和当前目录来回切换 cd ~jingfeng #切换至某用户的家目录 cd .. #切换至上一级目录 3.ls 查看目录或文件信息 * 主要选项:-l 列出目录或者文件的详细信息。比如权限、修改时间等等 -a 列出当前目录下所有文件,包括隐藏文件(已点开头的都是隐藏文件) -A 列出除.和..之外的所有文件 -h 已人类能查看的方式,列出文件的大小 -d 只列出目录的详细信息 -F 给不同文件结尾加不同标识 -p 给目录结尾加斜线 -t 按修改时间排序 -r 反转排序 -i 查看 inode 节点 --time-style=long-iso 格式化属性时间 -R 递归 主要案例:1、ls -l #列出目录或者文件的详细信息 -rw-r--r-- 1 root root 1 Aug 5 21:24 jingfeng.txt 2、ls -la #列出当前目录下所有文件,包括隐藏文件 -rw------- 1 root root 18029 Aug 11 22:05 .bash

rsync+sersync

假如想象 提交于 2020-07-29 06:41:50
rsync是 linux系统 下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步 sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录 实验环境 centos6.5_x64 192.168.10.18 rsync+sersync rsync1 192.168.10.15 rsync rsync2 实验软件 sersync2.5.4_64bit_binary_stable_final.tar.gz 软件安装 cp -pv /etc/hosts /etc/hosts.bak echo 192.168.10.18 rsync1 >> /etc/hosts echo 192.168.10.15 rsync2 >> /etc/hosts sed -i.bak 's/centos6/rsync1/g' /etc/sysconfig/network rsync -avz /etc/hosts root@192.168.10.15:/etc/hosts rsync -avz /etc/sysconfig/network root@192.168.10.15:/etc/sysconfig/network

CentOS7配置rsync实现文件同步

ぃ、小莉子 提交于 2020-04-24 02:01:46
rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件。rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每次都全部传输,效率比较高。 rsync有以下特点: 1)支持目录和文件的上传和下载功能; 2)可以镜像保存整个目录树和文件系统; 3)传输效率高,只传输新增和修改过的文件。 一、安装软件包 rsync的客户端和服务器软件的安装包都是rsync。 yum -y install rsync 二、修改系统配置 1、关闭SELINUX 修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。 SELINUX =disabled 重启linux系统或执行 setenforce 0 使修改马上生效。 2、开通防火墙端口 rsync缺省的端口是873,您可以修改配置文件中的端口。 1)防火墙开通873端口。 firewall-cmd --zone=public --add-port=873/tcp --permanent 2)重启防火墙。 systemctl restart firewalld 3、启用rsyncd服务 rsync的服务名是rsyncd。 1)启动rsyncd服务。 systemctl start rsyncd 2

linux运维、架构之路-实时同步方案

两盒软妹~` 提交于 2020-03-29 22:48:05
一、inotify+rsync实时同步 1、介绍 inotify-tools是一种强大的、细粒度的、异步的文件系统事件监控机制,可以用来监控文件系统的事件。inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。 2、实现原理 3、根据原理进行部署 ①查看系统是否支持inotify [root@nfs-nfs01 ~]# ll /proc/sys/fs/inotify/ -rw-r--r-- 1 root root 0 Aug 22 18:13 max_queued_events -rw-r--r-- 1 root root 0 Aug 28 14:30 max_user_instances -rw-r--r-- 1 root root 0 Aug 22 18:13 max_user_watches ②软件安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo #安装epel源才可以yum安装inotify yum install -y inotify-tools ③

[经验分享] CentOS7+rsync+sersync实现数据实时同步

一个人想着一个人 提交于 2019-12-09 18:55:41
前言: 一、为什么要用Rsync+sersync架构? 1、sersync是基于Inotify开发的,类似于Inotify-tools的工具 2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录。 二、Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1、Rsync+Inotify-tools (1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来; (2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。 2、Rsync+sersync (1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字; (2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。 小结:当同步的目录数据量不大时,建议使用Rsync

CentOS7下Rsync+sersync实现数据实时同步

↘锁芯ラ 提交于 2019-12-09 18:33:34
CentOS7下Rsync+sersync实现数据实时同步 [日期:2017-10-22] 来源:Linux社区 作者:Linux [字体: 大 中 小 ] 前言: 一、为什么要用Rsync+sersync架构? 1、sersync是基于Inotify开发的,类似于Inotify-tools的工具 2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录。 二、Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1、Rsync+Inotify-tools (1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来; (2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。 2、Rsync+sersync (1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字; (2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录

rsync+sersync实现数据同步

血红的双手。 提交于 2019-12-05 02:39:21
1、实验环境:源主机ip:192.168.1.62 目标主机ip:192.168.1.63   将192.168.1.62 /var/www/html 目录同步到 192.168.1.63 /web-back 目标主机上确保开放873端口   firewall-cmd --add-port=8080/tcp --permanent    firewall-cmd --reload 2、两台主机都安装xinetd rsync yum -y install xinetd rsync 3、在目标主机192.168.1.63上面编辑rsyncd.conf vim /etc/rsyncd.conf uid = root       #运行用户 gid = root        #运行组 address =192.168.1.63 #监听ip port =873        #监听端口 hosts allow =192.168.1.0/24 #允许同步的源ip use chroot = yes max connections =100 pid file =/var/run/rsyncd.pid lock file =/var/run/rsync.lock log file =/var/log/rsyncd.log motd file =/etc/rsyncd.motd