centos7.5安装和配置rsync+sersync实现服务器文件同步

2024-06-01 13:08

本文主要是介绍centos7.5安装和配置rsync+sersync实现服务器文件同步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景介绍:

       公司有很多的系统应用和数据虚拟机,最近有段时间,会出现虚拟机出问题的事件,幸亏是应用服务器,不会花费太长时间,就能恢复;这个时候,我们想把现在的多个虚拟机的上配置文件和数据,实时做好备份,以防发生特殊情况。

软硬件配置:

centos7.5

inotify-tools-3.14

rsync-3.1.1

sersync2.5.4_64bit_binary_stable_final

备份服务器安装和配置说明:

      备份服务器只需要安装rsync;

1、安装rsync     

cd /usr/local
mkdir rsync
cd  rsync
tar -xvf rsync-3.1.1.tar.gz
cd rsync-3.1.1
./configure
make && make install

2、修改rsyncd.conf文件

# 创建run和log文件目录
cd /usr/local/rsync
mkdir {run,log}# 修改配文件
vi /etc/rsyncd.confuid=root
gid=root#最大连接数
max connections=36000#默认为true,修改为no,增加对目录文件软连接的备份
use chroot=no#定义日志存放位置
log file=/usr/local/rsync/log/rsyncd.log
pid file=/usr/local/rsync/run/rsyncd.pid
lock file=/usr/local/rsync/run/rsyncd.lock#忽略无关错误
ignore errors = yes#设置rsync服务端文件为读写权限
read only = no#认证的用户名与系统帐户无关在认证文件做配置,如果没有这行则表明是匿名
auth users = rsync#密码认证文件,格式(虚拟用户名:密码)
secrets file = /etc/rsync.pass#这里是认证的模块名,在client端需要指定,可以设置多个模块和路径
[2205oa]
#自定义注释
comment  = back 192.168.2.205 oa
#同步到B服务器的文件存放的路径
path=/bak/2205oa/
#设置只有这个IP才能访问
hosts allow = 192.168.2.205# 保存退出
:wq#创建rsync认证文件  可以设置多个,每行一个用户名:密码,注意中间以“:”分割
echo "rsync:rsync" > /etc/rsync.pass#设置文件所有者读取、写入权限
chmod 600 /etc/rsyncd.conf  
chmod 600 /etc/rsync.pass  #启动服务器B上的rsync服务
rsync --daemon #监听端口873
netstat -an | grep 873
lsof -i tcp:873COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   31445 root    4u  IPv4 443872      0t0  TCP *:rsync (LISTEN)
rsync   31445 root    5u  IPv6 443873      0t0  TCP *:rsync (LISTEN)#设置rsync为服务启动项(可选)
echo "/usr/local/bin/rsync --daemon" >> /etc/rc.local#要 Kill rsync 进程
#ps -ef|grep rsync|grep -v grep|awk '{print $2}'|xargs kill -9#再次启动
/usr/local/bin/rsync --daemon

需要备份服务器安装和配置说明:

1、软件安装

#安装rsync,提前将rsync-3.1.1.tar.gz上传到/usr/local
cd /usr/local
tar zxf rsync-3.1.1.tar.gz
cd rsync-3.1.1
./configure
make && make install#安装inotify-tools,提前将inotify-tools-3.14.tar.gz上传到/usr/local
cd /usr/local
tar zxf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make && make install#安装sersync,提前将sersync2.5.4_64bit_binary_stable_final.tar.gz上传到/usr/local
cd /usr/local
tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv /usr/local/GNU-Linux-x86/ /usr/local/sersync
cd /usr/local/sersync
#配置下密码文件,因为这个密码是要访问服务器B需要的密码和上面服务器B的密码必须一致
echo "rsync" > /usr/local/sersync/user.pass
#修改权限
chmod 600 /usr/local/sersync/user.pass#修改confxml.conf
vi /usr/local/sersync/confxml.xml<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5"><host hostip="localhost" port="8008"></host><debug start="false"/><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="false"/><closeWrite start="true"/><moveFrom start="true"/><moveTo start="true"/><attrib start="false"/><modify start="false"/></inotify><sersync><localpath watch="/root/2205oa"><!-- 这里填写需要备份服务器要同步的文件夹路径--><remote ip="192.168.8.235" name="2205oa"/><!-- 这里填写备份服务器的IP地址和模块名--><!--<remote ip="192.168.8.39" name="tongbu"/>--><!--<remote ip="192.168.8.40" name="tongbu"/>--></localpath><rsync><commonParams params="-artuz"/><auth start="true" users="rsync" passwordfile="/usr/local/sersync/user.pass"/><userDefinedPort start="false" port="874"/><!-- port=874 --><timeout start="false" time="100"/><!-- timeout=100 --><ssh start="false"/></rsync><failLog path="/usr/local/sersync/2205oa/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once--><crontab start="false" schedule="600"><!--600mins--><crontabfilter start="false"><exclude expression="*.php"></exclude><exclude expression="info/*"></exclude></crontabfilter></crontab><plugin start="false" name="command"/></sersync></head># 运行
nohup /usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml >/usr/local/sersync/rsync.log 2>&1 &

 

这篇关于centos7.5安装和配置rsync+sersync实现服务器文件同步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021098

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame