如何通过rsync+sersync 实现同步备份

该文档是在很早之前写的,一直存在草稿箱中,最近在整理其它学习资料时发现还没有发布,内容和方法有可能和现在的操作系统版本有些不符合了,但处理思路没有变化,大家可以根据最新版本要求,参照该文档进行配置学习,有些不对的地方还望大家多多理解。

一、为什么要实现同步备份

        服务器上有些重要文件或数据时,可以把他们多备份一份到其他服务器上,这样就不怕数据或文件丢失了。

二、环境的搭建

服务器A:192.168.1.10 源服务器

服务器B:192.168.1.20 目的服务器

我们要实现的就是把A服务器上的文件同步到B服务器上,从而实现备份。我们主要是在B服务器上安装配置rsync,在A服务器上安装配置sersync,通过sersync把文件推送到B服务器上

三、开始搭建

3.1、配置B服务器

3.1.1、关闭selinux

在/etc/sysconfig/selinux 这个文件,设置SELINUX=disable

3.1.2、防火墙开通873端口

可以使用以下命令,也可以把防火墙关闭

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT

3.1.3、开始安装rsync
[root@Test ~]# yum install rsync -y
3.1.4、配置rsync

rsync的配置文件是/etc/rsyncd.conf,配置如下:

#Gobal Setting
uid = root
gid = root
use chroot = no
read only = no
hosts allow = 192.168.1.0/24
hosts deny = *
max connections = 5
pid file = /var/run/rsyncd.pid
secrets file = /etc/rsyncd/rsyncd.password
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
ignore errors = yes#User Options
[test]
path=/test
list = yes
auth users = tom1
comment = Tom1's home

secrets file:这个是配置同步密码文件的。

[test]:这个是配置同步模块的名称

path:是配置同步的目录

hosts allow:是允许同步的主机

hosts deny:拒绝同步的主机。

3.1.5、创建同步的用户与密码的文件

即上图中的secrets file这个配置选项中的文件。/etc/rsync.passwd,同进要设置这个文件的权限为600

[root@Test ~]# echo "user:password" >> /etc/rsync.passwd
[root@Test ~]# chmod 600 /etc/rsync.passwd
3.1.6、创建同步的目录

即上图中path配置选项中的目录。

[root@Test ~]# mkdir /home/rsynctest
3.1.7、启动rsync
[root@Test ~]# rsync --daemon --config=/etc/rsyncd.conf

接着重启一下xinetd

[root@Test ~]# /etc/init.d/xinetd restart
3.1.8、配置开机启动
 [root@Test ~]# echo "rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local

到这B服务器基本就配置完成了。

3.2、配置A服务器

3.2.1、sersync官网下载sersync

官网地址:http://sersync.sourceforge.net

[root@Test ~]# wget http://sersync.googlecode.com/files/sersync2.1_64bit_binary.tar.gz
3.2.1、安装sersync
[root@Test ~]# mkdir /usr/local/sersync
[root@Test ~]# mkdir /usr/local/sersync/conf
[root@Test ~]# mkdir /usr/local/sersync/bin
[root@Test ~]# mkdir /usr/local/sersync/log
[root@Test ~]# tar zxvf sersync2.5_32bit_binary_stable_final.tar.gz
[root@Test ~]# cd GNU-Linux-x86/
[root@Test ~]# cp confxml.xml /usr/local/sersync/conf
[root@Test ~]# cp sersync2 /usr/local/sersync/bin
3.2.3、创建密码文件

同B服务器一样,不过这个文件只要保存一个密码就行了,不用用户名,权限也是600

[root@Test ~]# echo "password" >> /etc/rsync.passwd
[root@Test ~]# chmod 600 /etc/rsync.passwd
3.2.4、配置sersync

配置文件就是上第二步复制的confxml.xml这个文中,路径在/usr/local/sersync/conf中。

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5"># 设置本地IP和端口<host hostip="localhost" port="8008"></host># 开启DUBUG模式  <debug start="false"/># 开启xfs文件系统<fileSystem xfs="false"/># 同步时忽略推送的文件(正则表达式),默认关闭<filter start="false"><exclude expression="(.*)\.svn"></exclude><exclude expression="(.*)\.gz"></exclude><exclude expression="^info/*"></exclude><exclude expression="^static/*"></exclude></filter><inotify># 设置要监控的事件<delete start="true"/><createFolder start="true"/><createFile start="true"/><closeWrite start="true"/><moveFrom start="true"/><moveTo start="true"/><attrib start="true"/><modify start="true"/>
</inotify><sersync># 本地同步的目录路径<localpath watch="/data"># 远程IP和rsync模块名  <remote ip="192.168.1.20" name="data"/>  <!--<remote ip="192.168.8.39" name="tongbu"/>--><!--<remote ip="192.168.8.40" name="tongbu"/>--></localpath><rsync># rsync指令参数<commonParams params="-auvzP"/># rsync同步认证<auth start="true" users="user" passwordfile="/etc/rsync.passwd"/># 设置rsync远程服务端口,远程非默认端口则需打开自定义<userDefinedPort start="false" port="874"/><!-- port=874 --># 设置超时时间<timeout start="true" time="100"/><!-- timeout=100 --># 设置rsync+ssh加密传输模式,默认关闭,开启需设置SSH加密证书<ssh start="false"/></rsync># sersync传输失败日志脚本路径,每隔60会重新执行该脚本,执行完毕会自动清空。<failLog path="/usr/local/sersync/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once--># 设置rsync+crontab定时传输,默认关闭<crontab start="false" schedule="600"><!--600mins--><crontabfilter start="false"><exclude expression="*.php"></exclude><exclude expression="info/*"></exclude></crontabfilter></crontab># 设置sersync传输后调用name指定的插件脚本,默认关闭<plugin start="false" name="command"/></sersync># 插件脚本范例<plugin name="command"><param prefix="/bin/sh" suffix="" ignoreError="true"/>  <!--prefix /opt/tongbu/mmm.sh suffix--><filter start="false"><include expression="(.*)\.php"/><include expression="(.*)\.sh"/></filter></plugin># 插件脚本范例<plugin name="socket"><localpath watch="/opt/tongbu"><deshost ip="192.168.138.20" port="8009"/></localpath></plugin><plugin name="refreshCDN"><localpath watch="/data0/htdocs/cms.xoyo.com/site/"><cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/><sendurl base="http://pic.xoyo.com/cms"/><regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/></localpath></plugin>
</head>
3.2.5、创建同步目录
[root@Test ~]# mkdir /home/rsynctest
3.2.6、设置环境变量
[root@Test ~]# echo "export PATH=$PATH:/usr/local/sersync/bin/" >> /etc/profile
[root@Test ~]# source /etc/profile
3.2.7、启动sersync
[root@Test ~]# sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml

注:重启操作如下:

[root@Test ~]# killall sersync2 && sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml
3.2.8、设置开机启动
[root@Test ~]# echo "sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml" >> /etc/rc.local

好了,两台机器的配置都已经完成,现在你在A服务器的/home/rsynctest这个目录下创建文件,看看B服务器同样目录下是不是也生成了这个文件,如果是,那就恭喜,你成功了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM调优原理

文章目录 引言I 调整JVM的默认堆内存配置1.1 java命令启动jar包时配置JVM 的内存参数1.2 基于Tomcat服务器部署的java应用,配置JVM 的内存参数II JVM GC 调优基本概念: 应用程序的响应时间(RT)和吞吐量(QPS)JVM调优原理调优思路调优方法JVM调优技巧建议引言 内存参数:ht…

南阳施工企业资质续期成本详解与节省策略

南阳施工企业资质续期费用涉及多个方面&#xff0c;包括官方收取的费用、咨询与代办费用、材料准备与审核费用等。以下是对这些费用的详细解析以及相应的节省方法&#xff1a; 一、费用详述 1. 官方收取的费用 延期申请费&#xff1a;这是办理资质续期时必须缴纳的费用&…

闲置物品|基于SprinBoot+vue的校园闲置物品交易平台(源码+数据库+文档)

校园闲置物品交易平台 目录 基于SprinBootvue的校园闲置物品交易平台 一、前言 二、系统设计 三、系统功能设计 5.1系统功能实现 5.2管理员模块实现 5.3用户模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xf…

项目:基于TCP的文件传输系统

项目介绍: 模拟FTP原理&#xff1a;客户端连接服务器后&#xff0c;向服务器发送一个文件。文件名可以通过参数指定&#xff0c;服务器端接收客户端传来的文件&#xff08;文件名随意&#xff09;&#xff0c;如果文件不存在自动创建文件&#xff0c;如果文件存在&#xff0c;…

PsConvertToGuiThread函数调用前传

PsConvertToGuiThread函数调用前传 第一部分&#xff1a;位置 chchenghaodeiMac base % grep "Kss_ErrorHandler" -nr ./ .//ntos/ke/i386/trap.asm:1026:Kss_ErrorHandler: .//ntos/ke/i386/trap.asm:1220: jae Kss_ErrorHandler ; if ae, try…

matlab 相位解缠

目录 一、功能概述1、相位解缠2、主要函数二、代码实现1、螺旋线的正确相位角2、使用不同阈值平移相位角3、将相移应用于矩阵三、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的抄袭狗。 一、功能概述 1、相位解缠 对…

FPGA实现多功能SDI视频采集卡,基于GTX+RIFFA架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案本博已有的 SDI 编解码方案 3、详细设计方案设计框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBFDMA图像缓存RIFFA用户数据控制RIFFA架构详解Xilinx 7 Series Integrated Bloc…

C#面:ASP.NET MVC 中还有哪些注释属性用来验证?

在 ASP.NET MVC 中&#xff0c;除了常见的数据注解属性&#xff08;如Required、StringLength等&#xff09;&#xff0c;还有一些其他的注解属性用来验证数据。以下是一些常用的注解属性&#xff1a; Range&#xff1a;用于验证数字类型的属性值是否在指定的范围内。 [Range(…

中文乱码解决方案

解决程序中的中文乱码问题通常涉及到几个关键点&#xff1a;字符编码的设置、环境变量的配置以及程序内部处理方式。这里提供一些常见的解决方案&#xff1a; 1. 设置正确的输入输出流编码 如果你的应用程序是在读取或写入文件时出现乱码&#xff0c;确保设置了正确的文件编码…

智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序(XGBoost分类器)

智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序&#xff08;XGBoost分类器&#xff09; 文章目录 一、基本原理鲸鱼智能优化特征选择流程 二、实验结果三、核心代码四、代码获取五、总结 智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序…

从地图信息实时检测路口的各向通行状况、红绿灯及溢出情况

高德地图、百度地图都能获得实时的道路信息。 C# 编写的路况信息爬虫可获得准实时&#xff08;1分钟间隔&#xff09;的路口的各向通行状况、红绿灯及溢出情况。 优势&#xff1a; 投入少&#xff0c;效果好&#xff0c;无需安装设备&#xff1b; 缺陷&#xff1a; 时间间隔…

人工智能在网络安全领域的应用探索

随着网络技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;成为制约数字化进程的重要瓶颈。人工智能&#xff08;AI&#xff09;作为一种变革性技术&#xff0c;正逐步在网络安全领域展现出其巨大的潜力和价值。本文旨在探讨人工智能在网络安全领域的应用现状、优势…

更新RK3588开发板的rknn_server和librknnrt.so【这篇文章是RKNPU2从入门到实践 --- 【5】的配套文章】

作者使用的平台有&#xff1a; 一台装有Windows系统的宿主机&#xff0c;在该宿主机上装有Ubuntu 20.04虚拟系统&#xff1b; 瑞芯微RK3588开发板&#xff0c;开发板上的系统为Ubuntu22.04系统&#xff1b; 更新板子的 rknn_server 和 librknnrt.so&#xff0c;rknn_server 和…

单HTML文件集成Vue2+axios的使用

1、下载vue2.js和axios.js到本地 2、建一个HTML文件&#xff0c;内容如下&#xff1a; <html> <head><meta charset"UTF-8"><script src"./js/vue2.js"></script><script src"./js/axios.js"></script&…

USART之串口发送+接收应用案例

文章目录 前言一、电路接线图二、应用案例代码三、应用案例分析3.1 USART模块初始化3.1.1 RCC开启时钟3.1.2 GPIO初始化3.1.3 配置USART3.1.4 开启中断、配置NVIC3.1.5 开启USART 3.2 USART串口收发模块3.2.1 Serial_SendByte&#xff08;发送一个字节数据&#xff09;3.2.2 US…

Array常用的函数

在JavaScript中&#xff0c;Array 对象提供了许多实用的方法来操作数组。以下是常用的几个函数及其简要说明&#xff1a; 1. Array.prototype.forEach forEach 用于遍历数组中的每个元素&#xff0c;并执行一个提供的函数。 语法 array.forEach(callback(currentValue[, in…

【蓝桥杯集训100题】scratch绘制扇子 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第28题

scratch绘制扇子 蓝桥杯集训100题第28题模拟练习解析 此题曾经作为第十届省赛的真题考过 一、题目要求 以坐标(0,0)点为中心绘制一把扇子;扇面和扇把都是三分之一圆,扇面的半径 为 100 左右,扇把的半径为 20 左右。 编程实现 每次点击绿旗后,舞台背景为白色,…

【自动驾驶】控制算法(六)前馈控制与航向误差

写在前面&#xff1a; &#x1f31f; 欢迎光临 清流君 的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落。&#x1f4dd; 个人主页&#xff1a;清流君_CSDN博客&#xff0c;期待与您一同探索 移动机器人 领域的无限可能。 &#x1f50d; 本文系 清流君 原创之作&…

vue按钮弹框

在Vue中实现按钮点击后弹出对话框&#xff08;弹框&#xff09;的功能&#xff0c;通常可以使用一些Vue的UI组件库&#xff0c;如Element UI、Vuetify、BootstrapVue等&#xff0c;这些库提供了丰富的组件&#xff0c;包括对话框&#xff08;Dialog&#xff09;、模态框&#x…

如何使用Gogs搭建自己的git服务器

最近偶然发现一款轻量级的git服务器&#xff0c;以前一直用的svn server&#xff0c;最近想搞个git服务器&#xff0c; 用gitlab资源占用太多了&#xff0c;gogs是一款轻量级git服务器&#xff0c;非常适合个人使用。 项目地址&#xff1a;GitHub - gogs/gogs: Gogs is a painl…